标签:观测 信息 比赛 采样 int class 业务 很多 str
一.一般经验
1. 1:20以上是需要做均衡处理的 ,普通数据召回率低的话1:10就可以做均衡处理
2. 一般如果不是严重不平衡,或者不平衡既是业务的正常反应,则不需要做处理,非平衡样本的处理方式不是必须的
3. 多分类样本不均衡,只能过采样处理 (一般实验或比赛数据才会过采样处理, 一般不会过采样处理, 因为会有很多问题.)
二.处理方法
1. 过采样:增加少数样本的个数,容易过拟合 用原始数据增加样本
2. 欠采样:减少多数样本的个数,容易丢失多数类的重要信息,容易欠拟合
3. SMOTE算法,合并少数类过采样技术 KNN近邻 增加的不是原始样本也不是真实的样本
三.SMOTE-只针对二分类模型
SMOTE算法步骤:
1. 随机找一个少数类的观测点
2. 用KNN计算观测点最近的样本
3. 随机挑选离观测点近邻的其中一个样本
4. 计算两点的差值后进行随机提取。所以这里的随机体现在两个方面,线性体现在求差值的运算上面。
# pip install imblearn
# 做平衡处理 from imblearn.over_sampling import SMOTE # 实例化 over_samples = SMOTE(random_state=1234) # fit数据结构 over_samples_x,over_samples_y = over_samples.fit_sample(Xtrain,Ytrain) over_test_x,over_test_y = over_samples.fit_sample(Xtest,Ytest) # 重采样之后的比例 print(pd.Series(over_samples_y).value_counts()/len(over_samples_y)) # 重采样之前的比例 print(Ytrain.value_counts()/len(Ytrain))
标签:观测 信息 比赛 采样 int class 业务 很多 str
原文地址:https://www.cnblogs.com/jing-yan/p/12337912.html