一、分類
1、準確率:
sklearn.metrics.accuracy_score(y_true, y_pred, normalize=True)
##參數normalize:默認值爲True,返回正確分類的比例;如果爲False,返回正確分類的樣本數
2、召回率/查全率:
sklearn.metrics.recall_score(y_true, y_pred, average='binary')
##參數average : string, [None, ‘micro’, ‘macro’(default), ‘samples’, ‘weighted’],多分類時可用其它參數
3、ROC曲線
sklearn.metrics.roc_curve(y_true,y_score,pos_label=2)
##該函數返回這三個變量:fpr,tpr,和閾值thresholds;
4、AUC
① sklearn.metrics.roc_auc_score(y_true, y_score, average='macro', sample_weight=None)
② fpr,tpr,thresholds=sklearn.metrics.roc_curve(y_true,y_score)
sklearn.metrics.auc(fpr,tpr)
5、混淆矩陣
sklearn.metrics.confusion_matrix(y_true, y_pred, labels=None)
##labels:混淆矩陣的索引,用於選擇矩陣維度,默認None表示完全展示
def cm_plot(y, yp):
'''畫混淆矩陣圖'''
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y, yp) #混淆矩陣
import matplotlib.pyplot as plt #導入作圖庫
plt.matshow(cm, cmap=plt.cm.Greens) #畫混淆矩陣圖,配色風格使用cm.Greens,更多風格請參考官網。
plt.colorbar() #顏色標籤
for x in range(len(cm)): #數據標籤
for y in range(len(cm)):
plt.annotate(cm[x,y], xy=(y, x), horizontalalignment='center', verticalalignment='center')
plt.ylabel('True label') #座標軸標籤
plt.xlabel('Predicted label') #座標軸標籤
return plt
6、F1值
sklearn.metrics.f1_score(y_true, y_pred)
7、查準率
sklearn.metrics.precision_score(y_true, y_pred)
二、迴歸
1、sklearn.metrics.explained_variance_score(y_true, y_pred, sample_weight=None, multioutput='uniform_average'):迴歸方差(反應自變量與因變量之間的相關程度)
2、sklearn.metrics.mean_absolute_error(y_true, y_pred, sample_weight=None, multioutput='uniform_average'):平均絕對誤差
3、sklearn.metrics.mean_squared_error(y_true, y_pred, sample_weight=None, multioutput='uniform_average'):均方差
4、sklearn.metrics.median_absolute_error(y_true, y_pred) 中值絕對誤差
5、sklearn.metrics.r2_score(y_true, y_pred, sample_weight=None, multioutput='uniform_average') :R平方值
參考文獻:https://www.cnblogs.com/mdevelopment/p/9456486.html