如何确定多分类指标的评分标准及其评估方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计445个文字,预计阅读时间需要2分钟。
1. 多分类指标 + 面向二分类任务的评估指标已深入讨论,以下来看一下多分类问题的评估指标。多分类问题的所有指标基本都来自二分类指标,但需要对各类别进行平均处理。除了精度外,还需考虑其他指标。
1、多分类指标前面已经深入讨论了二分类任务的评估,下面来看一下对多分类问题的评估指标。
多分类问题的所有指标基本上都来自二分类指标,但要对所有类别进行平均。
除了精度,常用的工具有混淆矩阵和分类报告
sklearn.metrics.confusion_metrix
sklearn.metrics.classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
from sklearn.datasets import load_digits
from matplotlib import pyplot as plt
from sklearn.linear_model import LogisticRegression
#建立不平衡数据集
digits = load_digits()
#y = digits.target==9
#划分数据集
X_train,X_test,y_train,y_test = train_test_split(digits.data,digits.target,random_state=0)
#构建逻辑回归模型
lgr = LogisticRegression().fit(X_train,y_train)
pred = lgr.predict(X_test)
print("Confusion matrix:\n{}".format(confusion_matrix(y_test,pred)))
'''
```
Confusion matrix:
[[37 0 0 0 0 0 0 0 0 0]
[ 0 40 0 0 0 0 0 0 2 1]
[ 0 1 40 3 0 0 0 0 0 0]
[ 0 0 0 43 0 0 0 0 1 1]
[ 0 0 0 0 37 0 0 1 0 0]
[ 0 0 0 0 0 46 0 0 0 2]
[ 0 1 0 0 0 0 51 0 0 0]
[ 0 0 0 1 1 0 0 46 0 0]
[ 0 3 1 0 0 0 0 0 43 1]
[ 0 0 0 0 0 1 0 0 1 45]]
```
'''
#将混淆矩阵转换为热图
import mglearn
images = mglearn.tools.heatmap(confusion_matrix(y_test,pred),xlabel="predict label",ylabel="true label",
xticklabels=digits.target_names,yticklabels=digits.target_names,
cmap=plt.cm.gray_r,fmt="%d")
plt.title("Confusion metrix")
plt.gca().invert_yaxis()
本文共计445个文字,预计阅读时间需要2分钟。
1. 多分类指标 + 面向二分类任务的评估指标已深入讨论,以下来看一下多分类问题的评估指标。多分类问题的所有指标基本都来自二分类指标,但需要对各类别进行平均处理。除了精度外,还需考虑其他指标。
1、多分类指标前面已经深入讨论了二分类任务的评估,下面来看一下对多分类问题的评估指标。
多分类问题的所有指标基本上都来自二分类指标,但要对所有类别进行平均。
除了精度,常用的工具有混淆矩阵和分类报告
sklearn.metrics.confusion_metrix
sklearn.metrics.classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
from sklearn.datasets import load_digits
from matplotlib import pyplot as plt
from sklearn.linear_model import LogisticRegression
#建立不平衡数据集
digits = load_digits()
#y = digits.target==9
#划分数据集
X_train,X_test,y_train,y_test = train_test_split(digits.data,digits.target,random_state=0)
#构建逻辑回归模型
lgr = LogisticRegression().fit(X_train,y_train)
pred = lgr.predict(X_test)
print("Confusion matrix:\n{}".format(confusion_matrix(y_test,pred)))
'''
```
Confusion matrix:
[[37 0 0 0 0 0 0 0 0 0]
[ 0 40 0 0 0 0 0 0 2 1]
[ 0 1 40 3 0 0 0 0 0 0]
[ 0 0 0 43 0 0 0 0 1 1]
[ 0 0 0 0 37 0 0 1 0 0]
[ 0 0 0 0 0 46 0 0 0 2]
[ 0 1 0 0 0 0 51 0 0 0]
[ 0 0 0 1 1 0 0 46 0 0]
[ 0 3 1 0 0 0 0 0 43 1]
[ 0 0 0 0 0 1 0 0 1 45]]
```
'''
#将混淆矩阵转换为热图
import mglearn
images = mglearn.tools.heatmap(confusion_matrix(y_test,pred),xlabel="predict label",ylabel="true label",
xticklabels=digits.target_names,yticklabels=digits.target_names,
cmap=plt.cm.gray_r,fmt="%d")
plt.title("Confusion metrix")
plt.gca().invert_yaxis()

