版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_32502811/article/details/81008948
有些言简意赅·······
1. 样本不均衡
- 过采样
- 让少的生成,让两者同样多
-
下采样
- i. 让多的和少的一样多,相当于让多的放弃一些数据,让二者一样少
2. 各种评估指标:
recall = TP/(TP+FN)
-
精度(precision) = (TP+TN)/(FP+FN)
局限性:举个极端情况的例子,如果数据中大部分都是正样本,只有很少的负样本(样本不均衡),那么我仅仅只构造一个只会输出正类的模型,准确率也能达到很高,但是这样的模型不具有任何意义
3. 混淆矩阵
a. x:predict label;y:True label
b. 其实就是TP,FP,TN,FN
4.predict_proba(x_test.values)
5.SMOTE 算法(负样本的生成)
- 算法内容:
- 对于少数类中每一个样本x,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到其k近邻
- 根据样本不平衡比例,设置一个采样比例以确定采样倍率N,对于每一个少数类样本,从其k近邻中随机选择若干个样本.假设每一个选出来的为xnxn
- 对于每一个随机选出的近邻xixi分别对于原样本按照如下公式构建新样本:xnew=xi+rand(0,1)⋅(x^−x)xnew=xi+rand(0,1)⋅(x^−x)
- SMOTE算法的库:
from imblearn.over_sampling import SMOTE