梯度下降法 sklearn多元線性回歸

2021-09-27 10:43:05 字數 1409 閱讀 2424

**是我跟著網課學習自己敲得,資料來源delivery.csv我將會放在我的資源裡,大家有興趣可以試試

import numpy as np

from numpy import genfromtxt

from sklearn import linear_model

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import axes3d

#載入資料

data=genfromtxt(r"delivery.csv"

,delimiter=

",")

print

(data)

x_data=data[:,

:-1]

y_data=data[:,

-1]print

(x_data)

print

(y_data)

#建立模型

model=linear_model.linearregression(

)model.fit(x_data,y_data)

#係數print

("coefficients:"

,model.coef_)

#截距print

("intercept:"

,model.intercept_)

#測試x_test=[[

102,4]

]predict=model.predict(x_test)

print

("predict:"

,predict)

#畫圖ax=plt.figure(

).add_subplot(

111,projection=

'3d'

)ax.scatter(x_data[:,

0],x_data[:,

1],y_data,c=

'r',marker=

'o',s=

100)

x0=x_data[:,

0]x1=x_data[:,

1]#生成網格矩陣

x0,x1=np.meshgrid(x0,x1)

z=model.intercept_+x0*model.coef_[0]

+x1*model.coef_[1]

#畫3d圖

ax.plot_su***ce(x0,x1,z)

#設定座標軸

ax.set_xlabel(

'miles'

)ax.set_ylabel(

'num of delivery'

)ax.set_zlabel(

'time'

)#顯示影象

plt.show(

)

多元線性回歸 梯度下降法 sklearn實現

載入資料 data genfromtxt r delivery.csv delimiter 觀察一下資料 x data為特徵值,y data為標籤值 所以應該設定3個引數 0,1,2 lr 0.0001 引數 theta0 0 theta1 0 theta2 0 最大迭代次數 epochs 1000...

梯度下降法和隨機梯度下降法

批量梯度下降法 batch gradient descent 在更新引數時使用所有的樣本來進行更新 隨機梯度下降法 stochastic gradient descent 求梯度時沒有用所有的m個樣本的資料,而是僅僅選取乙個樣本j來求梯度。小批量梯度下降法 mini batch gradient d...

梯度下降法

梯度下降法 是乙個一階 最優化演算法 通常也稱為 最速下降法 我之前也沒有關注過這類演算法。最近,聽史丹福大學的機器學習課程時,碰到了用梯度下降演算法求解線性回歸問題,於是看了看這類演算法的思想。今天只寫了一些入門級的知識。我們知道,函式的曲線如下 程式設計實現 c code cpp view pl...