亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Python線性回歸方法

發布時間:2021-11-20 14:36:46 來源:億速云 閱讀:150 作者:iii 欄目:編程語言

這篇文章主要講解了“怎么使用Python線性回歸方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么使用Python線性回歸方法”吧!

來說說約定的符號,線性回歸參數主要由斜率和截距組成,這里用W表示斜率,b表示截距。大寫的W表示這是一個向量。一般來說是n_feauter_num數量,就是有多少個特征,W的shape就是(n_feauter_num,1),截距b是一個常數,通過公式Y=W*X+b計算出目標Y值,一般來說,在機器學習中約定原始值為Y,預測值為Y_hat。下面來談談具體實現步驟

  • 構造數據

  • 構造loss function(coss function)

  • 分別對W和b計算梯度(也是對cost function分別對W和b求導)

  • 計算Y_hat

  • 多次迭代計算梯度,直接收斂或者迭代結束

下面給出具體python代碼實現,本代碼是通用代碼,可以任意擴展W,代碼中計算loss和梯度的地方采用的向量實現,因此增加W的維度不用修改代碼

import matplotlib.pyplot as pltimport numpy as npdef f(X):
 w = np.array([1, 3, 2])
 b = 10
 return np.dot(X, w.T) + bdef cost(X, Y, w, b):
 m = X.shape[0]
 Z = np.dot(X, w) + b
 Y_hat = Z.reshape(m, 1)
 cost = np.sum(np.square(Y_hat - Y)) / (2 * m) return costdef gradient_descent(X, Y, W, b, learning_rate):
 m = X.shape[0]
 W = W - learning_rate * (1 / m) * X.T.dot((np.dot(X, W) + b - Y))
 b = b - learning_rate * (1 / m) * np.sum(np.dot(X, W) + b - Y) return W, bdef main():
 # sample number
 m = 5
 # feature number
 n = 3
 total = m * n # construct data
 X = np.random.rand(total).reshape(m, n)
 Y = f(X).reshape(m, 1)# iris = datasets.load_iris()# X, Y = iris.data, iris.target.reshape(150, 1)# X = X[Y[:, 0] < 2]# Y = Y[Y[:, 0] < 2]# m = X.shape[0]# n = X.shape[1]
 # define parameter
 W = np.ones((n, 1), dtype=float).reshape(n, 1)
 b = 0.0
 # def forward pass++
 learning_rate = 0.1
 iter_num = 10000
 i = 0
 J = [] while i < iter_num:
 i = i + 1
 W, b = gradient_descent(X, Y, W, b, learning_rate)
 j = cost(X, Y, W, b)
 J.append(j)
 print(W, b)
 print(j)
 plt.plot(J)
 plt.show()if __name__ == '__main__':
 main()

可以看到,結果輸出很接近預設參數[1,3,2]和10

是不是感覺so easy.

step: 4998 loss: 3.46349593719e-07[[ 1.00286704]
 [ 3.00463459]
 [ 2.00173473]] 9.99528287088step: 4999 loss: 3.45443124835e-07[[ 1.00286329]
 [ 3.00462853]
 [ 2.00173246]] 9.99528904819step: 5000 loss: 3.44539028368e-07

感謝各位的閱讀,以上就是“怎么使用Python線性回歸方法”的內容了,經過本文的學習后,相信大家對怎么使用Python線性回歸方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

信宜市| 安吉县| 明溪县| 民勤县| 盐津县| 晋江市| 平乡县| 斗六市| 富锦市| 台北市| 滨海县| 太白县| 曲周县| 二连浩特市| 通渭县| 莱阳市| 炉霍县| 广平县| 逊克县| 钟山县| 定结县| 基隆市| 郯城县| 商城县| 定远县| 奉新县| 苏尼特左旗| 蒙阴县| 繁峙县| 宁河县| 伊宁县| 富平县| 万源市| 洮南市| 新津县| 舒兰市| 礼泉县| 清水河县| 甘谷县| 诸城市| 英超|