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,加油!