機器學習之 線性回歸

2022-03-21 21:42:29 字數 1991 閱讀 7088

注意x和y一定是[[1],[2],[3],[4],...]

#

-*-coding:gb2312-*-

import

numpy as np

import

matplotlib.pyplot as plt

from sklearn.linear_model import

linearregression

if__name__ == '

__main__':

x = np.array([6,8,10,14,18])

y = np.array([7,9,13,17.5,18])

#散點圖標記為*,顏色為red

plt.scatter(x,y,marker='

*',c='r'

) plt.grid(true)

#plt.show()

#改二維

#用資料建立lr模型

#print(x.reshape(-1,1)) # -1 自動計算

x_,y_ = x.reshape(-1,1),y.reshape(-1,1)

lr = linearregression() #

截距對結果影響不大

lr.fit(x_,y_)

print

(lr.intercept_)

print(lr.coef_) #

y = 0.9762931x + 1.96551724

#用回歸模型**,顏色用green

x2 =x

y2 = lr.predict(x2.reshape(-1,1)).reshape(-1,1)

plt.plot(x2,y2,'g

')plt.show()

結果:

輸入的x**2和x形式是:[[100,10],[81,9],...]

#

-*-coding:gb2312-*-

import

numpy as np

import

matplotlib.pyplot as plt

from sklearn.linear_model import

linearregression

if__name__ == '

__main__':

#x = np.array([[10],[9]])

#print(np.concatenate([x**2,x],axis=1))

#設定年份

year = np.arange(1,12)

#print(year)

sale = np.array([0.52,9.36,52,191,350,571,912.17,1207,1682,2135,2684])

plt.scatter(year,sale,marker="

*",c='r'

) plt.grid(true)

lr = linearregression(fit_intercept=false)

#重新計算一元二次方程組

#輸入的x**2和x形式是:[[100,10],[81,9],...]

x2 = year.reshape(-1,1)

x2_train = np.concatenate([x2**2,x2],axis=1)

lr.fit(x2_train,sale.reshape(-1,1))

print(lr.predict([[144,12]]))

x3 =x2

y3 = lr.predict(x2_train).reshape(-1, 1)

plt.plot(x3, y3, 'g

')plt.show()

結果:

機器學習之線性回歸

訓練樣例 x y 輸入變數 特徵 x ps n 1行,1 列 輸出變數 目標變數 y訓練樣例總數 m 特徵維度 n第 i 個訓練樣例 x i y i 所有訓練樣例的輸入變數組成的矩陣 x ps m行,n 1 列,每行是 x i t 所有訓練樣例的輸出變數組成的矩陣 y ps m行,1 列 下表是某地...

機器學習之線性回歸

線性回歸就是用線性方程去擬合一組資料,x 的最高端是1,用方程可以表示為 h x 0 1x1 n xn我們令 x0 1則上式可以改寫為 h x i 0n ixi tx 既然是擬合的模型,則肯定會存在不符合該模型的點,第 i 個點的真實值與模型 的值之間的差稱為誤差 e h x i y i 假設總共有...

機器學習之線性回歸

線性回歸分析 regression analysis 其資料集是給定乙個函式和他的一些座標點,然後通過回歸分析的演算法,來估計原函式的模型,求得最符合這些資料集的函式解析式。然後我們就可以用來預估未知資料,輸入乙個自變數便會根據這個模型解析式輸出因變數,這些自變數就是特徵向量,因變數即為標籤,而且標...