使用cross_val_score计算训练分数

时间:2017-06-21 15:46:40

标签: python scikit-learn cross-validation

我正在使用cross_val_score来计算回归量的平均得分。这是一个小片段。

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import cross_val_score 

cross_val_score(LinearRegression(), X, y_reg, cv = 5)

使用这个我得到一系列分数。我想知道验证集上的分数(如上面数组中的返回值)与训练集上的分数有何不同,以了解我的模型是否过度拟合或不合适。

有没有办法用cross_val_score对象执行此操作?

2 个答案:

答案 0 :(得分:4)

您可以使用checkInternetConnection代替cross_validate
根据{{​​3}}:

  

cross_val_score功能在两个方面与cross_validate不同 -

     
      
  • 它允许指定多个评估指标。
  •   
  • 测试分数外,它还会返回包含训练分数,适合次数和分数次数的字典。
  •   

答案 1 :(得分:-2)

你为什么要这样? cross_val_score(cv=5)会为您做到这一点,因为它会将您的列车数据拆分10次并验证5个测试子集的准确度得分。这种方法已经成为防止模型过度拟合的一种方法。

无论如何,如果您渴望验证验证数据的准确性,那么您必须首先在 X y_reg 上使用LinearRegression。