如何像R一样在Python scikit中获得回归摘要?

问题描述 投票:18回答:4

作为R用户,我也想跟进scikit。

创建线性回归模型很好,但是似乎找不到合理的方法来获得回归输出的标准摘要。

代码示例:

# Linear Regression
import numpy as np
from sklearn import datasets
from sklearn.linear_model import LinearRegression

# Load the diabetes datasets
dataset = datasets.load_diabetes()

# Fit a linear regression model to the data
model = LinearRegression()
model.fit(dataset.data, dataset.target)
print(model)

# Make predictions
expected = dataset.target
predicted = model.predict(dataset.data)

# Summarize the fit of the model
mse = np.mean((predicted-expected)**2)
print model.intercept_, model.coef_, mse, 
print(model.score(dataset.data, dataset.target))

问题:

  • 似乎是像[[intercept和coef之类的东西内置在模型中,我只需键入print(倒数第二行)即可看到它们。
  • 关于
  • 所有其他标准回归输出,如R ^ 2,调整后的R ^ 2,p值等],如果我正确地阅读了这些示例,似乎您必须为每个函数编写一个函数/等式然后打印。
  • 因此,lin没有标准的摘要输出。 reg。型号?
  • 而且,在我输出的系数输出数组中,
  • 没有与每个变量相关联的变量名吗?我只是得到数字数组。
  • 有没有一种方法可以在我得到系数和它们所伴随的变量的输出时打印这些?
    我的打印输出:

LinearRegression(copy_X=True, fit_intercept=True, normalize=False) 152.133484163 [ -10.01219782 -239.81908937 519.83978679 324.39042769 -792.18416163 476.74583782 101.04457032 177.06417623 751.27932109 67.62538639] 2859.69039877 0.517749425413

注意:从线性,山脊和套索开始。我已经看过这些例子。以下是基本OLS。 

作为R用户,我也想跟进scikit。创建线性回归模型很好,但是似乎找不到找到回归输出标准摘要的合理方法。 ...

python r scikit-learn linear-regression summary
4个回答
31
投票
sklearn中没有R型回归摘要报告。主要原因是sklearn用于预测建模/机器学习,并且评估标准基于先前未见数据的性能(例如回归的预测r ^ 2)。

4
投票
我使用:

2
投票
statsmodels软件包给出了一个不错的总结

-4
投票
预测后使用model.summary()
© www.soinside.com 2019 - 2024. All rights reserved.