**是我跟著網課學習自己敲得,資料來源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...