gpt4 book ai didi

python - 如何在 sklearn 中对不平衡数据集进行交叉验证

转载 作者:太空宇宙 更新时间:2023-11-03 14:38:29 25 4
gpt4 key购买 nike

我有一个高度不平衡的数据集,我想执行二元分类。

在阅读一些帖子时,我发现 sklearn 为不平衡数据集提供了 class_weight="balanced"。所以,我的分类器代码如下。

clf=RandomForestClassifier(random_state = 42, class_weight="balanced")

然后我使用上面的分类器如下进行了 10 折交叉验证。

k_fold = KFold(n_splits=10, shuffle=True, random_state=42)
new_scores = cross_val_score(clf, X, y, cv=k_fold, n_jobs=1)
print(new_scores.mean())

但是,我不确定class_weight="balanced"是否通过10折交叉验证反射(reflect)出来。我做错了吗?如果是这样,在 sklearn 中是否有更好的方法来做到这一点?

如果需要,我很乐意提供更多详细信息。

最佳答案

您可能想要使用分层交叉验证,而不是一般的交叉验证。更具体地说,您可以使用 StratifiedKFold .而不是代码中的 KFold

这确保了类不平衡被所有潜在的训练和测试拆分捕获。

关于python - 如何在 sklearn 中对不平衡数据集进行交叉验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55435619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com