lightgbm 数据不平衡_机器学习不平衡数据处理参考

1b1cc990516dca340836425ab52affc9.png

关于不平衡数据的处理,相关文献数不胜数,几乎大同小异,其中本人比较推荐 @机器之心 与 @刘芷宁的两篇文章。

机器之心:机器学习中如何处理不平衡数据?​zhuanlan.zhihu.com
646595d19122ad97f84390450578e94c.png
刘芷宁:极端类别不平衡数据下的分类问题S02:问题概述,模型选择及人生经验​zhuanlan.zhihu.com
92e875dccc8a61c9c52e391816cb55a3.png

在此基础上,本文试图回答以下三个工作中遇到的问题,以供参考。

1. 重采样与代价敏感学习作用在数据集上的表现如何
2. 先划分训练-测试集还是先进行重采样
3. 面对不平衡数据,如何显著提升模型的表现

一、重采样代价敏感学习

重采样,顾名思义即重新进行采样,它通过减少多数类样本或者增加少数类样本的方式,来直接改变原始数据的分布,强制数据从不平衡转为平衡。其中,SMOTE算法合成数据也是一种特殊的过采样方法;代价敏感学习的核心思想是基于成本的分类,它赋予少数类更高的权重,使得分错少数类的代价更高,从而在追求整体代价最小的目标下,学习器就必定偏向于尽可能将少数类划分正确。

本文基于仿真数据,对重采样与代价敏感学习两类方法进行可视化实验分析。为此我们考虑一个两变量二分类问题,假设我们有两个类:C0 与C1,其中 C0 的点遵循均值为[1.4, 0]、协方差矩阵为[[0.3, 0], [0, 0.3]]的二维高斯分布;C1 的点遵循均值为[0, 0]、协方差矩阵为[[0.5, 0], [0.5, 1]]的二维高斯分布。并假设数据集中1/6的点来自C0,其余5/6来自C1。下图是包含120个点的数据集按照上述假设的理论分布情况:

b2d372607b1aa04168af88479fb45259.png
图1. 二维数据分布
import numpy as np
np.random.seed(2)
mean = [0, 0]
cov = [[0.5, 0], [0.5, 1]] 
mean2 = [1.4, 0]
cov2 = [[0.3, 0], [0, 0.3]] 
import matplotlib.pyplot as plt
x, y = n
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值