我正在使用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
对象执行此操作?
答案 0 :(得分:4)
您可以使用checkInternetConnection
代替cross_validate
根据{{3}}:
cross_val_score
功能在两个方面与cross_validate
不同 -
- 它允许指定多个评估指标。
- 除测试分数外,它还会返回包含训练分数,适合次数和分数次数的字典。
答案 1 :(得分:-2)
你为什么要这样? cross_val_score(cv=5)
会为您做到这一点,因为它会将您的列车数据拆分10次并验证5个测试子集的准确度得分。这种方法已经成为防止模型过度拟合的一种方法。
无论如何,如果您渴望验证验证数据的准确性,那么您必须首先在 X 和 y_reg 上使用LinearRegression。