python 數(shù)據(jù)分析基礎(chǔ) day16-使用statasmodels進(jìn)行線性回歸

今天是讀《python數(shù)據(jù)分析基礎(chǔ)》的第16天,今天的讀書筆記內(nèi)容為使用statsmodels模塊對(duì)數(shù)據(jù)進(jìn)行最小二乘線性回歸。
代碼如下(詳細(xì)內(nèi)容請(qǐng)見(jiàn)代碼備注):
注:
1.數(shù)據(jù)來(lái)源于
https://github.com/cbrownley/foundations-for-analytics-with-python/tree/master/statistics/winequality-both.csv
2.運(yùn)用statsmodels模塊進(jìn)行最小二乘回歸可參考此內(nèi)容http://www.statsmodels.org/stable/generated/statsmodels.regression.linear_model.OLS.html#statsmodels.regression.linear_model.OLS

#運(yùn)用wine變量進(jìn)行線性回歸并預(yù)測(cè)葡萄酒的評(píng)分

import pandas as pd
import statsmodels.api as sma
import matplotlib.pyplot as plt
inputExcel=r'目標(biāo)文件'
wine=pd.read_csv(inputExcel)
#、將列標(biāo)題的空格用下劃線替代
wine.columns=wine.columns.str.replace(' ','_')

#將wine的最后10行數(shù)據(jù)并剔除'tpye'字段和'quality'字段作為測(cè)試集
wineLast=wine.tail(10)
#生成自變量并添加常數(shù)項(xiàng)
wineTest=sma.add_constant(wineLast[wineLast.columns.difference(['type','quality'])])

#將wine第一行到倒數(shù)第11行的數(shù)據(jù)作為訓(xùn)練集,并為自變量加上常數(shù)項(xiàng)
wineHead=wine.iloc[0:-10,:]
#生成自變量并添加常數(shù)項(xiàng)
wineTrainInd=sma.add_constant(wineHead[wineHead.columns.difference(['type','quality'])])
#生成因變量
wineTrainDep=wineHead['quality']

#調(diào)用statsmodels模塊的api.ols進(jìn)行最小二乘線性回歸
lm=sma.OLS(wineTrainDep,wineTrainInd)
#生成回歸結(jié)果
res=lm.fit()

#顯示模型結(jié)果
print(res.summary())

#輸出測(cè)試結(jié)果
predict=res.predict(wineTest)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容