【发布时间】:2019-01-19 19:07:51
【问题描述】:
我有两个单独的 python 函数,其中一个使用 cross_val_predict 返回数据集的预测值,另一个使用 cross_validate 返回多个错误度量值。下面显示的是用于获取指标值的方法(我已经实现了类似的方法来获取预测值)。
def metric_val(folds):
.
.
.
scoring = {'r_score': 'r2',
'abs_error': 'neg_mean_absolute_error',
'squared_error': 'neg_mean_squared_error'}
scores = cross_validate(best_svr, X, y, scoring=scoring, cv=folds, return_train_score=True)
print("****\nR2 :", "", scores['test_r_score'].mean(),
"| MAE :", scores['test_abs_error'].mean(),
)
return prediction
我不想同时使用这两个函数,因为它的计算成本很高。是否有单一方法或替代方法可以同时获得预测和指标?
【问题讨论】:
-
展示你是如何定义
folds和scoring的,我们可以创建一个简单的函数来做到这一点。 -
我已编辑以包含更多详细信息。谢谢
-
什么是
folds? -
folds指的是k-fold cross validation所需的折叠次数。例如,对于10-fold cross validation,它可以是10。
标签: python machine-learning scikit-learn regression