日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

李宏毅老师ML_HW1——PM2.5预测

發布時間:2024/7/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 李宏毅老师ML_HW1——PM2.5预测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0、處理數據之前的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作為訓練集feature,9時PM2.5作為其label,第二次取1 ~ 9時作為feature,10時的PM2.5作為label…直至feature取到22時,label取到23時,一共features為(3600, 9)的矩陣,labels為(3600, 1)的矩陣

import pandas as pd import numpy as np import matplotlib.pyplot as pltnp.set_printoptions(precision=3) # 設置array顯示精度,只能設置顯示精度不能實際更改其數值精度 np.set_printoptions(suppress=True) # 抑制小數的科學計數法顯示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]) # 取所有行,首index"0"-"14", 尾index"14"-"22"feature = np.zeros((3600, 18, 9)) # 定義feature 容器for i in range(0, 15):feature[240 * i:240 * (i + 1)] = feature_data[:, :, i:9 + i] # axis=0和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, epoch=1000, l=10, reg_rate=0.001):'''初始化誤差bias:3600個; 初始化weight:9個; 手動調整學習次數epoch; 手動調整學習率l,reg_rate正則化的系數'''n = len(x) # 實例個數n=3600weights = 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*weights+biases變形成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(f"theta{theta},和weights{weights}{theta[1:]==weights}")for i in range(epoch):# 第一步:y = w1x1+w2x2+...+w9x9 + b1,一共3600次向量相乘算出初步的預測值a,然后慢慢優化# y_hat = np.dot(x, weights) + biases # 先x后weights避免shape對應不上y_hat1 = np.dot(X_new, theta) # 等同于xw+bloss = 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"經過第{i+1}次訓練,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
課程地址:
李宏毅老師機器學習教學網站

總結

以上是生活随笔為你收集整理的李宏毅老师ML_HW1——PM2.5预测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜67194| 色网综合 | 久久免费网 | 国产主播av在线 | 欧美绿帽合集xxxxx | www.youjizz.com亚洲| 中文字幕永久视频 | 激情小说在线 | 精品综合久久久久 | 美女18毛片 | 婷婷国产视频 | 欧美国产大片 | 国产成人精品999在线观看 | 都市激情自拍偷拍 | 国产在线国偷精品免费看 | 国产免费视屏 | 精品h视频| 日韩免费视频网站 | 日韩av资源 | 亚洲香蕉一区 | 亚欧洲乱码视频 | 欧美色图网址 | 欧美亚洲免费 | 五月天导航 | 性感美女一区二区三区 | 久久人人爽人人爽人人av | 亚洲xx站| 中文字幕被公侵犯的漂亮人妻 | 国产精品无码一本二本三本色 | 午夜影院在线免费观看 | 成人黄色在线免费观看 | 中文字幕 日韩 欧美 | 久久国产日韩欧美 | 午夜高清 | 国产成人精品视频ⅴa片软件竹菊 | 蜜桃精品成人影片 | 精品人妻一区二区免费视频 | 亚洲AV无码国产精品 | 欧美黄色录像带 | 韩国在线不卡 | 国产真实在线 | 美女黄页网站 | 日韩欧美视频免费观看 | 久久精品国产亚洲av麻豆图片 | 88国产精品视频一区二区三区 | 日韩经典一区二区 | www.天堂av | 中文字幕久久精品 | 四虎成人精品永久免费av九九 | 国产精九九网站漫画 | 国产无遮挡一区二区三区毛片日本 | 欧美孕交视频 | 中文字幕欧美人妻精品 | 日韩少妇高潮抽搐 | jizz性欧美23| 九草在线视频 | 亚洲少妇xxx| 114国产精品久久免费观看 | 国产极品在线观看 | 荷兰女人裸体性做爰 | 黄色三级视频 | 69pao| 欧美一区二区在线视频观看 | 日本乱偷中文字幕 | 蜜桃色一区二区三区 | 雪花飘电影在线观看免费高清 | 亚洲欧美一区二区三区在线观看 | 亚洲免费视频一区二区三区 | videos另类灌满极品另类 | 人妻精品久久久久中文字幕69 | 美女赤身免费网站 | 秋霞亚洲 | 欧美韩国日本一区 | 一级特黄高清 | 成人福利网站在线观看 | 国产三区在线成人av | 熟睡侵犯の奶水授乳在线 | 日本99热| 永久免费视频网站直接看 | 91成人在线观看喷潮动漫 | 亚洲性欧美 | 2019天天操 | 免费观看一级黄色片 | 成人在线观看免费网站 | 日本三区在线 | 丁香六月色婷婷 | jvid乐乐 | 日本久热 | 亚州激情| 欧洲黄色片 | 一级不卡 | 91精品国产91久久久 | 中文人妻av久久人妻18 | 色啪视频 | 色综合久久久久无码专区 | 欧美成人一区二区 | 国产精品国语对白 | 特级西西444www | 欧美xxxxbbbb|