小编典典

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

python

作为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))

问题:

  • 好像 拦截器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

注意:从Linear,Ridge和Lasso开始。我已经看过这些例子。以下是基本OLS。


阅读 136

收藏
2020-12-20

共1个答案

小编典典

sklearn中没有R类型回归摘要报告。主要原因是sklearn用于预测建模/机器学习,并且评估标准基于先前未见数据(例如回归的预测r ^ 2)的性能。

确实存在用于分类的汇总功能,sklearn.metrics.classification_report该功能可在分类模型上计算几种类型的(预测)得分。

有关更经典的统计方法,请参阅statsmodels

2020-12-20