我正在使用StratifiedKFold
,我不确定{
kfold = StratifiedKFold(n_splits=5, shuffle=True, random_state=8)
for train, validation in kfold.split(X, Y):
# Fit the model
model.fit(X[train], Y[train])
# predict probabilities for training set
predicted = model.predict(X[train])
predicted_report = classification_report(Y[train], predicted)
print(predicted_report)
# accuracy: (tp + tn) / (p + n)
accuracy = accuracy_score(Y[train], predicted)#accuracy_score(Y[train], yhat_classes)
正如评论中已经暗示的,您的训练集大小将是
(n_splits-1)/n_splits
,而您的验证集大小将是您初始数据大小的1/n_splits
,即这里分别是4/5和1/5。在下面是一个使用iris数据和
n_splits=5
的简单可重复演示,如您的例子所示:其结果是:
^{pr2}$因此,要在数据中检查自己,只需在for循环中添加上面的
print
语句。在相关问题 更多 >
编程相关推荐