python 数据分析基础 day16-使用statasmodels进行线性回归

今天是读《python数据分析基础》的第16天,今天的读书笔记内容为使用statsmodels模块对数据进行最小二乘线性回归。
代码如下(详细内容请见代码备注):
注:
1.数据来源于
https://github.com/cbrownley/foundations-for-analytics-with-python/tree/master/statistics/winequality-both.csv
2.运用statsmodels模块进行最小二乘回归可参考此内容http://www.statsmodels.org/stable/generated/statsmodels.regression.linear_model.OLS.html#statsmodels.regression.linear_model.OLS

#运用wine变量进行线性回归并预测葡萄酒的评分

import pandas as pd
import statsmodels.api as sma
import matplotlib.pyplot as plt
inputExcel=r'目标文件'
wine=pd.read_csv(inputExcel)
#、将列标题的空格用下划线替代
wine.columns=wine.columns.str.replace(' ','_')

#将wine的最后10行数据并剔除'tpye'字段和'quality'字段作为测试集
wineLast=wine.tail(10)
#生成自变量并添加常数项
wineTest=sma.add_constant(wineLast[wineLast.columns.difference(['type','quality'])])

#将wine第一行到倒数第11行的数据作为训练集,并为自变量加上常数项
wineHead=wine.iloc[0:-10,:]
#生成自变量并添加常数项
wineTrainInd=sma.add_constant(wineHead[wineHead.columns.difference(['type','quality'])])
#生成因变量
wineTrainDep=wineHead['quality']

#调用statsmodels模块的api.ols进行最小二乘线性回归
lm=sma.OLS(wineTrainDep,wineTrainInd)
#生成回归结果
res=lm.fit()

#显示模型结果
print(res.summary())

#输出测试结果
predict=res.predict(wineTest)

猜你喜欢

转载自blog.csdn.net/weixin_34185560/article/details/87232422
今日推荐