我有一个数据集,我使用sklearn通过holdout方法拆分。以下是程序
from sklearn.model_selection import train_test_split
(X_train, X_test, y_train, y_test)=train_test_split(X,y,test_size=0.3, stratify=y)
我使用随机森林作为分类器。下面是代码
clf = RandomForestClassifier(random_state=0 )
clf.fit(X_train, y_train)
R_y_pred = clf.predict(X_test)
target_names = ['Alive', 'Dead']
print(classification_report(y_test, R_y_pred, target_names=target_names))
现在我想对训练集使用分层kfold交叉验证。我写的代码
cv_results = cross_validate(clf, X_train, y_train, cv=5)
R_y_pred = cv_results.predict(X_test)
target_names = ['Alive', 'Dead']
print(classification_report(y_test, R_y_pred, target_names=target_names))
我得到了错误,因为cv_results没有像predict这样的属性。
我想知道如何打印使用k折交叉验证后的分类结果。
谢谢你。
1条答案
按热度按时间gk7wooem1#
它不是一个可以用于预测目的的模型。
例如,当考虑使用分类模型预测酒店取消的单独problem时,使用随机森林分类器的5倍交叉验证产生以下测试分数:
但是,当尝试使用此模型进行预测时,会返回相同的错误消息: