我在数据集中使用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
吗?
答案 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