回歸是統(tǒng)計(jì)中的明珠。利用回歸我們可以預(yù)測(cè)反應(yīng)變量的值瓦灶。簡(jiǎn)單的線性回歸就是利用獨(dú)立的簡(jiǎn)單變量預(yù)測(cè)一個(gè)反應(yīng)變量烁登。
其假設(shè)反應(yīng)變量和自變量之間具有很強(qiáng)的相關(guān)性,這個(gè)可以通過(guò)相關(guān)分析得出易阳。利用最小二乘法計(jì)算出參數(shù)附较,就可以通過(guò)模型來(lái)預(yù)測(cè)其他值。
setp 1:數(shù)據(jù)預(yù)處理
包括導(dǎo)入必須的包潦俺、導(dǎo)入必須的數(shù)據(jù)拒课、處理異常值徐勃、數(shù)據(jù)集分割、對(duì)數(shù)據(jù)進(jìn)行特征縮放早像、對(duì)分類數(shù)據(jù)進(jìn)行編碼僻肖。
import pandas as pd#導(dǎo)入包
import numpy as np
import matplotlib.pyplot as plt
dataset = pd.read_csv("studentscores.csv")
X = dataset.iloc[:,:1].values; Y = dataset.iloc[:,1].values#導(dǎo)入數(shù)據(jù)
from sklearn.model_selection import train_test_split#分割數(shù)據(jù)集
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=1/4,random_state=0)
setp 2:利用訓(xùn)練數(shù)據(jù)訓(xùn)練簡(jiǎn)單線性回歸模型
在sklearn.learn_mode 中,導(dǎo)入 LinearRegression 卢鹦,可以用來(lái)創(chuàng)建線性回歸模型臀脏,使用fit()方法去訓(xùn)練模型。
PS.在很多模型中冀自,都是使用fit()來(lái)訓(xùn)練模型的揉稚。
from sklearn.linear_model import LinearRegression#導(dǎo)入線性回歸模型類
regressor = LinearRegression()#初始化模型
regressor = regressor.fit(X_train,Y_train)#訓(xùn)練模型
setp 3:利用回歸模型預(yù)測(cè)結(jié)果
模型訓(xùn)練結(jié)束后,我們并不知道模型的精度如何熬粗,因此使用測(cè)試集用來(lái)測(cè)試搀玖,也就是用測(cè)試集做預(yù)測(cè)。使用LinerRegression類中的predict()方法預(yù)測(cè)值驻呐。
PS.在很多模型中灌诅,都是使用predict()方法預(yù)測(cè)值。
Y_pred = regressor.predict(X_test)#預(yù)測(cè)
setp 4:可視化
對(duì)于數(shù)據(jù)暴氏,結(jié)果非常不直觀延塑,我們需要將數(shù)據(jù)可視化,也就是做成圖表答渔,更加直觀关带。在任何行業(yè)都有可視化的工作。在這里沼撕,我們使用matplotlib.pyplot 包 畫圖宋雏。聽(tīng)名字大家都知道,這是在matlab的畫圖工具中繼承過(guò)來(lái)的务豺。我們可以畫出散點(diǎn)圖scatter()來(lái)查看訓(xùn)練結(jié)果磨总。
當(dāng)然,除了matplot包之外,還有plotyy,seaborn笼沥,等等蚪燕,繪圖超好看!1记场馆纳!
plt.scatter(X_train,Y_train,color = 'red')
plt.plot(X_train,regressor.predict(X_train),color='blue')