当前位置: 首页 > news >正文

网站宣传的优点广告宣传片制作公司

网站宣传的优点,广告宣传片制作公司,sem工资,微信公众号建设公司处理数据之前的pre-process 观察下载的数据文件train.csv train.csv只有每个月前20天的数据#xff0c;另外每个月剩下10天数据用于作业结果评估#xff0c;对学生不可见 观察数据发现rainfall栏有很多NR表示没有降雨#xff0c;但是我们只需要数字#xff0c;因此可以使用…处理数据之前的pre-process 观察下载的数据文件train.csv train.csv只有每个月前20天的数据另外每个月剩下10天数据用于作业结果评估对学生不可见 观察数据发现rainfall栏有很多NR表示没有降雨但是我们只需要数字因此可以使用excel的替换将NR替换为0之后再进行处理 作业要求前9小时作为训练集第10小时的PM2.5作为实际结果实际一共有18个特征——CH4、CO、CO2、NO等但是这里我们只取相关性最高的PM2.5自身作为feature实际如果对PM2.5的影响因素很了解可以在另外的17个特征进行选取。 我们第一次取0 ~ 8时PM2.5作为训练集feature9时PM2.5作为其label第二次取1 ~ 9时作为feature10时的PM2.5作为label…直至feature取到22时label取到23时一共features为(3600, 9)的矩阵labels为(3600, 1)的矩阵 使用梯度下降算法预测PM2.5 import pandas as pd import numpy as np import matplotlib.pyplot as pltnp.set_printoptions(precision3) # 设置array显示精度只能设置显示精度不能实际更改其数值精度 np.set_printoptions(suppressTrue) # 抑制小数的科学计数法显示df pd.read_csv(HW1_data_1.csv)# 数据处理数据集中包含18个特征本次训练只使用PM2.5计算和预测 def dataprocess():# feature:feature_data np.array(df.loc[:, 0:22]).reshape([240, 18, 23]) # 取所有行首index0-14, 尾index14-22feature np.zeros((3600, 18, 9)) # 定义feature 容器for i in range(0, 15):feature[240 * i:240 * (i 1)] feature_data[:, :, i:9 i] # axis0和1的所有值的每9小时为一组数据取左不取右feature feature[:, 9, :] # 取所有维度的第9行就是PM2.5的数值(240×15×9个PM2.5)# label:# 9时到23时所有特征数据包含PM2.5在内所有特征量因为loc无法操作细致切片先转成array再切# 只取PM2.5的数据用作预测所以取[:, 9]240×18每18个中的第10个特征label_data np.array(df.loc[:, 9:23]).reshape([240, 18, 15])[:, 9]label label_data.reshape(3600, 1)return feature, labelclass Regression:def gradientdescent(self, x, y, epoch1000, l10, reg_rate0.001):初始化误差bias:3600个; 初始化weight:9个; 手动调整学习次数epoch; 手动调整学习率l,reg_rate正则化的系数n len(x) # 实例个数n3600weights np.random.randn(x.shape[1], 1) # y.shape[0]行,1列的数这些数从均值为0方差为1的正态分布中生成用来初始化wbiases np.random.randn(y.shape[0], 1) # 同样初始化b# biases np.zeros((y.shape[0], 1)) # 所有的bias都是相同的# 将x*weightsbiases变形成X_new*theta一起更新同时便于cost求导X_new np.ones((x.shape[0], x.shape[1] 1)) # 定义X_new比x多一列第一列全为1后面的列为xX_new[:, 1:] x # (3600, 10)除了第一列是1后面就是就是和x值一样theta np.full((weights.shape[0] 1, weights.shape[1]), biases[0]) # 创建比weight多一行的矩阵theta[1:, ] weights # 除了第一行是biases的值后面9行都是weightgrad_sum np.zeros(theta.shape)# print(weights:, weights.shape, biases:, biases.shape) # weights: (9, 1) biases: (3600, 1)# print(X_new:, X_new.shape, theta:, theta.shape) # X_new:(3600, 10) theta: (10, 1)# print(ftheta{theta},和weights{weights}{theta[1:]weights})for i in range(epoch):# 第一步y w1x1w2x2...w9x9 b1一共3600次向量相乘算出初步的预测值a然后慢慢优化# y_hat np.dot(x, weights) biases # 先x后weights避免shape对应不上y_hat1 np.dot(X_new, theta) # 等同于xwbloss y_hat1 - y# Adagrad更新θ权重和偏向# 这里grad是每一次的梯度而grad_sum是所有之前的梯度之和grad 2 * (X_new.transpose().dot(loss))grad_sum grad ** 2theta - l * grad / np.sqrt(grad_sum)# cost函数cost (1 / (2 * n)) * np.linalg.norm(loss) # np.linalg.norm是numpy自带的欧氏距离计算方法# cost (1/(2*n))*np.sqrt(np.sum(np.square(y - y_hat))) # 这个是直接数学运算求向量的欧氏距离系数是1/(2*n)if (i 1) % 100 0:print(f经过第{i1}次训练cost变为{cost})print(f经过第{i 1}次训练y_hat1均值:{round(np.sum(y_hat1)/3600, 4)}与y均值:{round(np.sum(y)/3600, 4)}f之差loss平均差变为{np.sum(loss) / 3600})print(f经过第{i 1}次训练本次梯度grad变为{np.sum(grad)/3600})DP dataprocess() R Regression() R.gradientdescent(DP[0], DP[1]) 输出结果 经过第100次训练cost变为0.17832930592812254 经过第200次训练cost变为0.1660618393695226 经过第300次训练cost变为0.15927505672924216 经过第400次训练cost变为0.15489108318605818 经过第500次训练cost变为0.15184467687762343 经过第600次训练cost变为0.14964991588379611 经过第700次训练cost变为0.14804105402447518 经过第800次训练cost变为0.14685216677724566 经过第900次训练cost变为0.14597040063815991 经过第1000次训练cost变为0.14531528068944696经过第100次训练y_hat1均值:17.8139与y均值:24.0569之差平均差loss变为-6.24304257009874 经过第200次训练y_hat1均值:18.653与y均值:24.0569之差平均差loss变为-5.403915186992251 经过第300次训练y_hat1均值:19.4186与y均值:24.0569之差平均差loss变为-4.638329558163197 经过第400次训练y_hat1均值:20.0769与y均值:24.0569之差平均差loss变为-3.9800706681641165 经过第500次训练y_hat1均值:20.6393与y均值:24.0569之差平均差loss变为-3.417681572977715 经过第600次训练y_hat1均值:21.12与y均值:24.0569之差平均差loss变为-2.9369228516813766 经过第700次训练y_hat1均值:21.5316与y均值:24.0569之差平均差loss变为-2.5253134626240024 经过第800次训练y_hat1均值:21.8845与y均值:24.0569之差平均差loss变为-2.172397192822715 经过第900次训练y_hat1均值:22.1875与y均值:24.0569之差平均差loss变为-1.8694547147842282 经过第1000次训练y_hat1均值:22.4478与y均值:24.0569之差平均差loss变为-1.609182858159369经过第100次训练本次梯度grad变为0.15936844318025478 经过第200次训练本次梯度grad变为0.05629405865738792 经过第300次训练本次梯度grad变为0.03547007720060113 经过第400次训练本次梯度grad变为0.025188272217026478 经过第500次训练本次梯度grad变为0.01861384588607305 经过第600次训练本次梯度grad变为0.014144000392948834 经过第700次训练本次梯度grad变为0.011006343985549796 经过第800次训练本次梯度grad变为0.008740552807814514 经过第900次训练本次梯度grad变为0.0070594976666507134 经过第1000次训练本次梯度grad变为0.005780481608253467这里还没有使用交叉熵验证和正则化数据差异却非常小错误之处谢谢指出。 公式推导 Regression_PM2.5 课程地址 李宏毅老师机器学习教学网站
http://www.zqtcl.cn/news/442512/

相关文章:

  • 济宁网站建设公司大型餐饮网站建设
  • 昊源建设监理有限公司网站做那种的视频网站有哪些
  • wordpress滑块代码seo外链增加
  • 衡阳网站建设公司地址书店网站怎么做
  • 如何检查网站是否做cdn加速html网页基础代码
  • 做网站的岗位好吗钓鱼网站到底怎么做
  • 大连做网站那个公司最好wordpress+高清背景
  • 怎样做网站xml案例建网站
  • 海口发布最新通告用二级域名做网站对seo
  • 网站301重定向 权重转移网站不用下载免费软件
  • 网站系统升级昆明做百度网站电话
  • 电子商务与网站建设实践论文wordpress 主题目录
  • 网站页面打不开中小企业网站推广
  • 佛山建网站企业网站怎么维护
  • 网站制作报价明细wordpress喜欢
  • 网站开发2008文化传播有限公司网站建设
  • 个人账号如何注册网站广州专业网站改版设计公司
  • wordpress视频网站采集沈阳建设工程质量检测中心网站
  • 做网站优化哪家好远程管理wordpress站群
  • 实用写作网站做企业策划的公司
  • 如何建立自己手机网站58招聘网站官网
  • 网站程序源码下载网站怎么做定位功能
  • 深圳vi设计公司联系西安seo诊断
  • 老虎淘客系统可以做网站吗绍兴网站专业制作
  • 小公司做网站需要 align center
  • 自己做的网站怎么上传网络什么网站可以找人做系统
  • 公司在兰州要做网站怎样选择做期货关注什么网站
  • 响应式网站是指自适应吗新开传奇网站首区
  • 做网站产品介绍wordpress 参数 传递
  • 网站颜色搭配技巧建设摩托车价格大全