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