首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >雪橇课重量不起作用

雪橇课重量不起作用
EN

Data Science用户
提问于 2018-01-05 06:41:44
回答 2查看 7.6K关注 0票数 3

我正在处理一个不平衡的数据集,和往常一样,它很容易获得一个高精度,但较少频繁类的召回率非常低。我想对较少上课次数的假阴性进行改进。

针对学习随机森林的具体性,一种可能的策略是在较少频繁的类中设置一个惩罚错误的class_weight,并使用一个学习评分函数作为ROC。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grid = GridSearchCV(pipe, cv=number_of_cross_validations, n_jobs=1, param_grid=param_grid , scoring = scorer)
classifier = grid.fit(X_train, y_train)

其中pipe是包含RandomForestClassifier的管道,param_grid包含要尝试的不同的class_weight

我的问题可能与这个问题有关,事实上,仅仅class_weight似乎还不足以显著降低假阴性。作为一个极端的例子,如果我设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 class_weight = {0: 0.0000001, 1: 0.9999999} 

(其中1是实例较少的类,其比例为1:50),我期望最终的分类器几乎总是预测1,因为每次发生错误时,代价都很高。但事实并非如此,匹配的分类器继续产生大量的假阴性。为什么会这样呢?

EN

回答 2

Data Science用户

发布于 2018-10-09 07:08:52

这很可能是因为sklearn已经为您选择了您的多数类,而您只需要用"0“作为多数类来权衡您的类。

票数 2
EN

Data Science用户

发布于 2018-11-08 14:53:07

如果您的类没有类重叠问题,您可能需要尝试一些重采样技术。您可以用较少的记录对类进行过度采样,或者查看诸如SMOTE、ROSE之类的包。

SMOTE很好的例子:https://www.kaggle.com/qianchao/smote-with-imbalance-data#

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

https://datascience.stackexchange.com/questions/26325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文