首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python中的分层K折叠

Python中的分层K折叠
EN

Stack Overflow用户
提问于 2017-07-05 21:07:35
回答 1查看 1.6K关注 0票数 2

我正在尝试在python中执行Stratified K Fold验证,我在文档中读到了以下内容:

我不太确定这是什么意思。有人能给我解释一下cross_val_score到底什么时候使用StratifiedKFold策略吗?

EN

回答 1

Stack Overflow用户

发布于 2017-07-05 21:16:31

当您执行交叉折叠验证时,您将训练集拆分为多个验证集。StratifiedKFold确保每个验证集都包含来自原始训练集的相等比例的标签。

例如,假设您正在训练垃圾邮件而不是垃圾邮件的分类器。您的训练集包含50k个样本和10k个垃圾邮件样本。如果执行5折交叉折叠验证,您将把训练集分成5个大小为10k样本的验证。通过分层,将以一种方式选择每个验证集,以保持非垃圾邮件与垃圾邮件之间的4:1分布。

编辑:很抱歉我误解了你最初的问题。要扩展user @unutbu下面的注释,您需要确认您正在使用的分类器是基类ClassifierMixin的子类。您可以使用Method Resolution Order来完成此操作。

假设您使用的是分类器KNeighborsClassifier

代码语言:javascript
运行
AI代码解释
复制
>>> from sklearn.neighbors import KNeighborsClassifier
>>> clf = KNeighborsClassifier()
>>> type(clf)
<class 'sklearn.neighbors.classification.KNeighborsClassifier'>
>>> type(clf).mro()
[<class 'sklearn.neighbors.classification.KNeighborsClassifier'>, ..., <class 'sklearn.base.ClassifierMixin'>, <type 'object'>]

请注意,解析顺序中倒数第二个类是ClassifierMixin

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44935999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档