交叉验证后该怎么办?

时间:2019-05-09 03:17:53

标签: python scikit-learn

我在数据集中使用cross_validate,但我不明白此结果的含义:

{'fit_time':    array([1.63223672, 1.6485312 , 1.68074203]), 
 'score_time':  array([0.45177341, 0.45384407, 0.45946956]), 
 'test_score':  array([-0.82856214, -0.85846901, -0.79999181]), 
 'train_score': array([-0.72827572, -0.72522363, -0.74185422])}

我怎么知道预测的值是多少?我还需要在fit中使用cross_validate吗?

1 个答案:

答案 0 :(得分:1)

这些值仅显示基于拆分的给定数据集,模型的表现如何。 默认情况下,您使用TOP(1)将集合拆分3次,因此可以训练3个模型(具有3个不同的参数) 如果要通过交叉验证返回模型参数,则需要设置cross_validate()

return_estimator=True

tree = DecisionTreeClassifier() cv_results = cross_validate(tree, X, y, cv=3, return_train_score=False, return_estimator=True) estimators = cv_results['estimator'] 是包含您的拟合模型的列表。

现在您可以使用estimators返回第i个模型的预测值,并且i的范围为0到cv