python - K 重 CV 的变体,其中 size(test_set) > N/K

标签 python machine-learning scikit-learn cross-validation

我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准确率(由于类别不平衡),而是更多地衡量精确召回率,因此这一点尤其重要,因为真实阳性率的一些差异非常显着。

Python/sklearn 中是否有 KFold(或交叉验证方法)的变体,其中我选择 K = 5,并将分割设置为 60-40?就像下图所示:

enter image description here

最佳答案

您需要分层抽样来处理不平衡问题。 这是 sklearn 为您做的 URL:结合 Kfold 和分层采样/分割

http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedKFold.html

关于python - K 重 CV 的变体,其中 size(test_set) > N/K,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52521475/

相关文章:

python - 如何存储大量实时 SNMP 数据

python - 为不同平台分发带有 C 模块的 Python 应用程序

machine-learning - 使用 weka.clusterers.HierarchicalClusterer 时出现 IllegalArgumentException

python - 仅在 scikit-learn 中的特征子集上使用 PCA 的管道

machine-learning - Keras - 如何使用 KerasRegressor 执行预测?

python:合并 SQLITE 表的列表列表

python - 在 apply 函数 pandas python 中包含组名

python-3.x - 无法访问 Google Colaboratory 中的 csv 文件

machine-learning - 查找两个用户配置文件之间的相似性

Python sklearn.mixture.GMM 不适合扩展吗?