Scikit Learn sklearn.linear_model.LinearRegression:查看生成的模型的结果

时间:2017-04-23 19:36:16

标签: python-3.x pandas scikit-learn regression linear-regression

因此,我可以使用sklearn.linear_model.LinearRegression来处理我的数据 - 至少在不引发任何异常或警告的情况下运行脚本。唯一的问题是,我不是试图用matplotlib绘制结果,而是想看模型的估算器和诊断统计数据。

如何获得模型摘要,例如坡度和截距(B0,B1),R平方调整等,以在控制台中显示或填充变量而不是绘制此变量?

这是我运行的脚本的通用副本:

import numpy as p
import pandas as pn
from sklearn import datasets, linear_model

z = pn.DataFrame(
{'a' : [1,2,3,4,5,6,7,8,9],
'b' : [9,8,7,6,5,4,3,2,1]
})



a2 = z['a'].values.reshape(9,1)
b2 = z['b'].values.reshape(9,1)

reg = linear_model.LinearRegression(fit_intercept=True)
reg.fit(a2,b2)
# print(reg.get_params(deep=True)) I tried this and it didn't print out the #information I wanted

# print(reg) # I tried this too

这样运行没有错误,但控制台中没有出现除此之外的输出:

{' n_jobs':1,' fit_intercept':是的,' copy_X':是的,'规范化':False} LinearRegression(copy_X = True,fit_intercept = True,n_jobs = 1,normalize = False)

感谢您提供有关如何打印模型摘要的任何信息。

1 个答案:

答案 0 :(得分:1)

sklearn的API是围绕拟合训练数据而设计的,然后生成对测试数据的预测,而不会暴露很多有关模型如何适合的信息。虽然有时您可以通过访问拟合模型对象的coef_属性来找到模型的估计参数,但您在参数描述功能方面却找不到多少。这是因为可能无法以统一的方式提供此信息。 API旨在让您将线性回归视为随机森林。

由于您对线性模型感兴趣,因此您可以从statsmodels库中获取您要查找的信息,包括置信区间,拟合度统计数据等。有关详细信息,请参阅其OLS示例:http://statsmodels.sourceforge.net/devel/examples/notebooks/generated/ols.html