機器學習—線性回歸

1.概念

1.1 線性回歸概念

機器學習中的兩個常見的問題:回歸任務和分類任務。那什麼是回歸任務和分類任務呢?簡單的來說,在監督學習中(也就是有標籤的數據中),標籤值為連續值時是回歸任務,標誌值是離散值時是分類任務。而線性回歸模型就是處理回歸任務的最基礎的模型。

線性:兩個變數之間的關係一次函數關係的——圖象是直線,叫做線性;

非線性:兩個變數之間的關係不是一次函數關係的——圖象不是直線,叫做非線性。

回歸:人們在測量事物的時候因為客觀條件所限,求得的都是測量值,而不是事物真實的值,為了能夠得到真實值,無限次的進行測量,最後通過這些測量數據計算回歸到真實值,這就是回歸的由來。

1.2 線性回歸解決問題

對大量的觀測數據進行處理,從而得到比較符合事物內部規律的數學表達式。也就是說尋找到數據與數據之間的規律所在,從而就可以模擬出結果,也就是對結果進行預測。解決的就是通過已知的數據得到未知的結果。例如:對房價的預測、判斷信用評價、電影票房預估等。

1.3 線性回歸基本形式

在只有一個變數的情況下,線性回歸可以用方程:y = ax+b 表示。而如果有多個變數,也就是n元線性回歸的形式如下:

img

2.回歸分析

from sklearn.linear_model import LinearRegression

clf=LinearRegression()
clf.fit([[0,0],[1,1],[2,2]],[0,1,2]) #模型訓練
'''
y=0.5*x1+0.5*x2
'''
pre=clf.predict([[3,3]]) #模型預測
clf.coef_
clf.intercept_
print(pre)

3.波士頓房價回歸分析

#波士頓房價數據回歸分析
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
bosten=load_boston() #實例化
x=bosten.data[:,5:6]

clf=LinearRegression()
clf.fit(x,bosten.target) #模型訓練
clf.coef_ #回歸係數
y_pre=clf.predict(x) #模型輸出值

plt.scatter(x,bosten.target) #樣本實際分布
plt.plot(x,y_pre,color='red') #繪製擬合曲線
plt.show()

4.研究生錄取概率預測

import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

data=pd.read_csv('LogisticRegression.csv')
data_tr,data_te,label_tr,label_te=train_test_split(data.iloc[:,1:],data['admit'],test_size=0.2)
clf=LogisticRegression()
clf.fit(data_tr,label_tr)
pre=clf.predict(data_te)
res=classification_report(label_te,pre)
print(res)

5.參考文章

機器學習之線性回歸(Linear Regression)

線性回歸 波士頓房價預測

【創作不易,望點贊收藏,若有疑問,請留言,謝謝】