機器學習--線性迴歸

線性迴歸

線性迴歸(Linear Regression) 是利用數理統計中迴歸分析,來確定兩種或兩種以上變量間相互依賴的定量關係的一種統計分析方法

核心思想

ZXJJEV.png

sklearn 文檔概述

ZXUiPf.png

簡單線性迴歸 (一元線性迴歸)

找到一條直線,此直線到每個點的距離之和最小 ==> 最小二乘法(初中所學)
最小二乘法.png

import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
### 距離km
x = [3.4, 1.8, 4.6, 2.3, 3.1, 5.5, 0.7, 3.0, 2.6, 4.3, 2.1, 1.1, 6.1, 4.8, 3.8]
### 價格
y = [26.2, 17.8, 31.3, 23.1, 27.5, 36.0, 14.1, 22.3, 19.6, 31.3, 24.0, 17.3, 43.2, 36.4, 26.1]
x_in = np.array(x).reshape(-1,1)
y_in = np.array(y).reshape(-1,1)
lreg = LinearRegression()
result = lreg.fit(x_in, y_in)
b1 = result.coef_[0][0]
b0 = result.intercept_[0]
print(b1)
print(b0)
y_prd = lreg.predict(x_in)
# 散點圖
plt.scatter(x, y)
plt.plot(x_in,y_prd,'m')
plt.xlabel("km")
plt.ylabel("rmb")
plt.title("price")
plt.show()

多元線性迴歸

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
from sklearn.linear_model import LinearRegression

x = [[100,4],[50,3],[100,4],[100,2],[50,2],[80,2],[75,3],[65,4],[90,3],[90,2]]
y = [9.3,4.8,8.9,6.5,4.2,6.2,7.4,6.0,7.6,6.1]

x = np.array(x)
y = np.array(y)
lreg = LinearRegression()
result = lreg.fit(x, y)
# 權重值
b1 = result.coef_[0][0]
# 偏置值
b0 = result.intercept_[0]
print(b1)
print(b0)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章