使用cross_validate()获取预测值

3
我有以下代码,它执行5折交叉验证并返回几个度量值。
iris = load_iris()
clf = SVC()
scoring = {'acc': 'accuracy',
           'prec_macro': 'precision_macro',
           'rec_micro': 'recall_macro'}
scores = cross_validate(clf, iris.data, iris.target, scoring=scoring,
                         cv=5, return_train_score=True)

我想知道是否可以修改此代码以打印出每个折叠的预测值。

你使用的是哪个库? - Krishna
我正在使用sklearn。 - Krishi H
2个回答

2
如果您正在使用sklearn,可以使用cross_val_predict
from sklearn.model_selection import cross_val_predict
y_train_pred = cross_val_predict(clf_name,X_train,y_train_5,cv=3)

cross_val_score 会为每个折叠(fold)提供得分。而 cross_val_predict 则会为每个折叠提供预测结果。


是的,我正在使用sklearn。我知道cross_val_predict返回预测值。我想获得指标值以及预测值。有没有一种可以使用单个函数获取两者的方法。 - Krishi H
我怀疑这不会起作用。cross_val_print没有得分参数。所以不幸的是,我想你必须同时使用它们。 - Krishna

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接