machine-learning - RandomOverSampler 条件创建均等分布
问题描述
我目前正在从事一个基于 ML 的项目,我的数据存在轻微的不平衡,需要过度采样技术。特征 (X_train) 维度是 (90664, 190),目标 (Y_binary_train_trans) 是 (90664, )。但是,代码运行并仍然输出相同的、不均等的目标分布。这是用于 RandomOverSampler 的代码,它也已尝试使用 smote;
counter= Counter(Y_binary_train_trans)
ros= RandomOverSampler(random_state=42)
X_train, Y_binary_train_trans = ros.fit_resample(X_train,Y_binary_train_trans)
counter = Counter(Y_binary_test_trans)
解决方案
counter= Counter(Y_binary_train_trans)
ros= RandomOverSampler(random_state=42)
X_train, Y_binary_train_trans = ros.fit_resample(X_train,Y_binary_train_trans)
counter = Counter(Y_binary_test_trans)
至于此代码,您的第二个计数器计算的是测试样本,而不是您实际更改的训练样本!
相反,它应该是:
counter= Counter(Y_binary_train_trans)
ros= RandomOverSampler(random_state=42)
X_train, Y_binary_train_trans = ros.fit_resample(X_train,Y_binary_train_trans)
counter = Counter(Y_binary_train_trans)
推荐阅读
- java - 从数组中获取重复项并将重复项复制到另一个数组中
- c# - Npgsql 异常:列 c.consrc 不存在
- python - fe_sendauth:Composer 中没有提供密码
- audio - 是否有用于语速的标记数据集?使用快速、中速、慢速或基于每分钟字数的标签?
- windows - 如何在 Windows 10 azure 虚拟机中使用 virtualbox
- azure-active-directory - Azure Active Directory 中为我的 Web API 配置的令牌生命周期
- xslt - 如何使用 2.0 版计算 XSLT 中数字的绝对值
- python - 如何解决 pandas 的内存分配问题?
- php - 无法在实时服务器上找到我的 php ini 文件?
- javascript - jQuery基于父URL添加类