一.描述
- 对于二分类问题,习惯上把希望检测出的那一列称为正例,另一类称为负例。
- 二分类结果的四种可能
- 真正例(TP)
- 假正例(FP)
- 真负例(TN)
- 假负例(FN)
二.各项指标
- 模型精度:分类正确的样本个数(真正例和真负例)占总样本的比例
- 准确率:真正例(TP)和预测正例(TP+FP)的比例
- 召回率:真正例(TP)和实际正例(TP+FN)的比例
- f1分值:准确率和召回率的调和平均
二.实例
- 使用混淆矩阵对数据进行分类
from sklearn.datasets import load_breast_cancer from sklearn.svm import SVC from sklearn.metrics import confusion_matrix from sklearn.model_selection import train_test_split as tsplit X, y = load_breast_cancer(return_X_y=True) X_train, X_test, y_train, y_test = tsplit(X, y, test_size=0.1) # 实例化支持向量机分类器 svc = SVC() # 训练 svc.fit(X_train, y_train) # 预测 y_pred = svc.predict(X_test) # 返回预测矩阵 confusion_matrix(y_test, y_pred) # 模型精度 svc.score(X_test, y_test)
- 使用多个分类指标函数对模型做出评价
# 模型精度 from sklearn.metrics import accuracy_score accuracy_score(y_test, y_pred) # 模型准确率 from sklearn.metrics import precision_score precision_score(y_test, y_pred) # 模型召回率 from sklearn.metrics import recall_score recall_score(y_test, y_pred) # f1分值 from sklearn.metrics import f1_score f1_score(y_test, y_pred) # 均方误差 from sklearn.metrics import mean_squared_error mean_squared_error(y_test, y_pred) # 负相关系数 from sklearn.metrics import r2_score r2_score(y_test, y_pred)