使用 cross_val_score 计算训练分数
Computing training score using cross_val_score
我正在使用 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
对象做到这一点?
你为什么想要那个? cross_val_score(cv=5)
会为您执行此操作,因为它将您的训练数据拆分 10 次并验证 5 个测试子集的准确度分数。此方法已用作防止模型过度拟合的方法。
无论如何,如果您急于验证验证数据的准确性,那么您必须首先在 X 和 y_reg 上拟合 LinearRegression .
您可以使用 cross_validate
而不是 cross_val_score
根据 doc:
The cross_validate
function differs from cross_val_score
in two ways -
- It allows specifying multiple metrics for evaluation.
- It returns a dict containing training scores, fit-times and score-times in addition to the test score.
我正在使用 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
对象做到这一点?
你为什么想要那个? cross_val_score(cv=5)
会为您执行此操作,因为它将您的训练数据拆分 10 次并验证 5 个测试子集的准确度分数。此方法已用作防止模型过度拟合的方法。
无论如何,如果您急于验证验证数据的准确性,那么您必须首先在 X 和 y_reg 上拟合 LinearRegression .
您可以使用 cross_validate
而不是 cross_val_score
根据 doc:
The
cross_validate
function differs fromcross_val_score
in two ways -
- It allows specifying multiple metrics for evaluation.
- It returns a dict containing training scores, fit-times and score-times in addition to the test score.