class_weight和sample_weight
1、在SVC中对于不平衡数据可以调节svcl类中的参数class_weight和fit接口中的参数sample_weight
如果只设置class_weight,那么参数C变为:class_weight[i]*C 。
如果同时调节class_weight和sample_weight,那么参数C变为:class_weight[i] * sample_weight[i] * C。
2、准确率失去作用的原因:
从准确率的角度来说,不做样本平衡时的准确率反而更高,做了样本平衡的准确率反而下降了,这是因为做了样本平衡后,为了要更多的捕捉出少数类,模型误伤了许多多数类样本,而多数类样本被分错的样本数量大于少数类被分类正确的样本数量,使得模型整体的精确性下降。
3、如果要追求整体的accuracy,那么不要设置class_weight和sample_weight。
如果要追求的是捕捉少数类(因为少数类被判错的代价是巨大的),那么就要使用class_weight和sample_weight。
混淆矩阵
1、在混淆矩阵中,我们将少数类认为正例,多数类人为是反例。
1、准确率:acc = (a+d) / (a+b+c+d)
2、精确度:preision = a / (a+c)
预测的少数类中有多少是被分类正