因此,我可以使用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)
感谢您提供有关如何打印模型摘要的任何信息。
答案 0 :(得分:1)
sklearn
的API是围绕拟合训练数据而设计的,然后生成对测试数据的预测,而不会暴露很多有关模型如何适合的信息。虽然有时您可以通过访问拟合模型对象的coef_
属性来找到模型的估计参数,但您在参数描述功能方面却找不到多少。这是因为可能无法以统一的方式提供此信息。 API旨在让您将线性回归视为随机森林。
由于您对线性模型感兴趣,因此您可以从statsmodels库中获取您要查找的信息,包括置信区间,拟合度统计数据等。有关详细信息,请参阅其OLS示例:http://statsmodels.sourceforge.net/devel/examples/notebooks/generated/ols.html。