通过confusion_matrix(y_ture, y_pred)调出混淆矩阵
from sklearn.metrics import precision_score
precision_score(y_true, y_pred, labels=None, pos_label=1, average=’binary’,
sample_weight=None)
对于精确度、准确度的定义有很多种,所以计算方式和结果都不一样
其中average设定怎么计算精确度等,当average=micro时precision、recall、accuracy是相同的
然后还有average=macro或weighted(macro改良版),推荐使用average=weighted
sample_weight参数
当样本不均衡时加入此参数
sw = compute_sample_weight(class_weight='balanced',y=y_true)
sw是一个和ytrue的shape相同的数据,每一个数代表该样本所在的sample_weight。它的具体计算方法是:总样本数/(总类数*某类的个数),然后加入此参数即可
cm =confusion_matrix(y_true, y_pred, sample_weight=sw)