【发布时间】:2018-03-17 19:42:23
【问题描述】:
我有一个包含二进制分类问题的不平衡数据集。我已经构建了随机森林分类器并使用了 10 折的 k 折交叉验证。
kfold = model_selection.KFold(n_splits=10, random_state=42)
model=RandomForestClassifier(n_estimators=50)
我得到了10折的结果
results = model_selection.cross_val_score(model,features,labels, cv=kfold)
print results
[ 0.60666667 0.60333333 0.52333333 0.73 0.75333333 0.72 0.7
0.73 0.83666667 0.88666667]
我通过取结果的平均值和标准差来计算准确度
print("Accuracy: %.3f%% (%.3f%%)") % (results.mean()*100.0, results.std()*100.0)
Accuracy: 70.900% (10.345%)
我的预测计算如下
predictions = cross_val_predict(model, features,labels ,cv=10)
由于这是一个不平衡的数据集,我想计算每个折叠的精度、召回率和 f1 分数,并对结果进行平均。 python中的值如何计算?
【问题讨论】:
标签: python scikit-learn random-forest cross-validation supervised-learning