python - 如何在 Python 中使用 SMOTE 函数?
问题描述
我最近开始使用 ML,遇到了 SMOTE 函数,该函数旨在处理我的数据中的不平衡。X_train.shape, y_train.shape
我在采样前跑了((6010, 17)
,(6010,))
分别得到了和。运行下面的代码后,当我对新数据运行 shape 方法时,我仍然得到相同的值。这不应该改变吗?还是我误解了这个概念?我遇到的另一个问题是,当我遇到抽样策略时,比如 0.6,我得到了error: 'negative dimensions not allowed.'
帮助!谢谢。
from imblearn.over_sampling import SMOTE
sm = SMOTE(random_state=45, sampling_strategy = 1.0)
X_train_sam, y_train_sam = sm.fit_sample(X_train, y_train)
这就是 y_train 的样子:
array([False, True, False, ..., True, True, True])
解决方案
推荐阅读
- python - 为什么 1+machine epsilon + machine epsilon/2 不等于 1+machine epsilon/2+machine epsilon?
- python - Scrapy 发布表单数据并从相同的 url 获取结果
- performance-testing - Http不是jmeter中的受信任服务器错误
- typescript - 数组元素类型的用户定义类型保护
- cmake - 在通过 Git 进行 CMake FetchContent 之后,如何不处于“分离头”状态?
- javascript - 如果我在 renderItem 之前使用 renderSectionHeader 道具,则反应原生 SectionList 组件滚动不起作用
- sapui5 - 是否可以对 VS Code 中的表达式绑定执行 XML 验证?
- ios - 在 Swift 中设置 UITextField 的最大数量限制
- android - 使用或覆盖已弃用的 API 颤振
- c# - 在文本框中输入的值内使用 LIKE 搜索