如何解决带有交叉验证的训练集拆分和测试集拆分的分数
练习: 考虑数据集并训练模型 Lasso,交叉验证 kfold=10。训练集拆分的 MAE,然后是测试集拆分的 MAE。
此外,在 cross_val_score
中,本例中的参数 'scoring' 返回负值,我使用 np.absolute 来获取正值。这是对的吗?
x= df.drop(columns='target',axis=1)
y= df.target
x_train,x_test,y_train,y_test= train_test_split(x,y,random_state=42)
cv = KFold(n_splits=10)
model = linear_model.Lasso(alpha=0.42)
scores_train= absolute(cross_val_score(model,x_train,cv=cv,scoring='neg_mean_absolute_error'))
scores_train
scores_test= absolute(cross_val_score(model,y_test,scoring='neg_mean_absolute_error'))
scores_test
解决方法
评分函数的约定是 cross_val_score
是较高的返回值比较低的返回值更好。因此,MAE 等指标被否定以遵循此约定。
如果您想分析模型的 mean_absolute_error
,因此可以使用 np.absolute()
去除负号并将结果视为 MAE 值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。