python - 如何根据两个变量重新采样以派生均匀的类?
问题描述
我有一个大小为(350,标签 0:N1=170,标签 1:N2=1:190)的二进制目标变量 y(例如性别),它是不平衡的(但也可能是平衡的),特征数组 X 的形状(350,100) 和第三个变量“town”,它是分类的,用 0-6 编码。
我现在需要找到一种方法来导出目标“y”(性别的平衡向量,y)的平衡样本,该样本也在变量“城镇”上保持平衡,以便每个男性和每个女性都生活在均匀平衡的城镇中(这样镇 1:45,镇 2:45,镇 3:45,...)。
我使用了 sklearn 和 imblearn - 一个变量很容易,因为这样我就可以使用 imblearn 提供的开箱即用的采样技术,并得出均匀的班级规模。但当然,它们在第二个变量方面并不平衡。
可视化的虚拟示例:
Sex X1 X2 Town
1 2.10 0.30 1
0 1.10 1.12 8
1 0.45 1.19 4
1 1.90 2.01 2
1 0.20 2.25 1
0 0.15 1.12 0
任何想法都受到高度赞赏..
解决方案
推荐阅读
- javascript - 多次按下按钮后按钮周围的元素变为活动状态
- javascript - 理解 passport.authenticate('local') 语法位
- java - Spring bean中属性的多个值
- excel - 如何根据多个标准对收入进行排名。微软Excel
- reactjs - 在 react js 的父类中单击按钮时,将布尔状态值从父类传递给子类,以便我可以使用 bool 加载测验
- performance - SQL Server:相同的存储过程在 1 个 DB 上运行良好,但在第 2 个 DB 上运行缓慢
- node.js - 我想将文件上传到 Blob 存储,而不是作为流(缓冲区,base64),而是作为原始文件(jpg,png jpeg)
- mysql - 安装 hive 并运行 hive 后,出现了几个问题,无法运行 hive
- java - spring boot - 在同一个线程上创建和销毁 bean
- cassandra - Cassandra:在特定节点上查询数据