处理数据极度不均衡的数据集

 
 
num = 0
print("len(y_train_df):\n",len(y_train_df))
for i in range(len(y_train_df)):
    if y_train_df[i] == 1:
        num = num + 1

print("{}{}".format("y_train_df中0的个数是:",num))
显示的结果为:
len(y_train_df):
 709903
y_train_df中0的个数是:3293

3293/709903 = 0.00464

平安极客挑战赛的训练集真的无解,看了一早上大概知道几个专业名词,SMOTE + KNN,欠采样,过采样。

在数据分类很不平衡的情况下,基本的精确率,均方差等都是有数据欺骗的。

要用召回率,F值来判定模型的可靠性。

然后发现了sklearn库可以pip安装额外的包 imbalance-learn,这个能解决问题,不需要深究的库函数

http://contrib.scikit-learn.org/imbalanced-learn/stable/over_sampling.html

按照教程极客成功安装,后续看我做的程度了。

希望召回率能不是0,加油!


猜你喜欢

转载自blog.csdn.net/Chasing_Shadows/article/details/80037551