前面用自寫函式解決了多元問題,現在用sklearn庫來解決多元線性問題
#老朋友,不介紹了
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
("model.coef:"
,model.coef_)
#截距print
("model.intercept:"
,model.intercept_)
#測試一下
x_test =[[
102,4]
]predict = model.predict(x_test)
print
("predict:"
,predict)
#使用add_subplot函式來建立3d面
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]#使用meshgrid函式生成網格矩陣
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 delivers'
)ax.set_zlabel(
'time'
)#顯示影象
效果還是不錯的,而且這個圖可以移動,方便檢視!
線回與非線回 梯度下降法的一元線性回歸
對於線性回歸問題,通常有兩種方法可以解決,即梯度下降法和標準方程法,兩者各有優缺點 梯度下降法對於引數多的回歸方程仍然適用,但並不是每次都能達到最優解,神經網路也需要梯度下降法來解決 標準方程法適用於引數少的回歸方程,但是時間複雜度較高 首先來看一下梯度下降法的 import numpy as np...
小公尺2s 用線刷,刷回MIUI V5了
1.在使用miflash刷機時,出現了 failed remote partition table doesn t exist fastboot flash partition dp0images gpt both0.bin echo flash partition exit b 1 1.recov...
計算機小碩 留在一線城市還是回安逸的小城?
秋招的序幕已經微微拉開,又到了畢業生每年最煎熬的時刻,讓我們舉起酒杯,為這個時刻的到來發自內心地祝賀,祝賀,祝賀!每年到了這個時刻,相信很多人都會糾結乙個問題,到底是應該留在一線城市過著狗一樣的生活,還是回到家鄉的小城像豬一樣地生活呢?這也是最近特別困擾我的問題,但人的成長就是這樣的吧,我們總是在無...