模型评估——定量分析预测的质量
https://blog.csdn.net/hustqb/article/details/77922031
-
- 评分参数定义模型评价规则
- 公共案例预定义值
- 根据度量函数定义你的评分策略
- 应用你自己的评分对象
- 使用多种度量指标
- 分类度量
- 从二分类到多分类多标签
- 精确度
- Cohens kappa
- 混乱矩阵
- 分类报告
- 汉明损失
- Jaccard 相似性相关系数
- 准确率召回率和F度量
- 二分类
- 多分类多标签
- Hinge损失
- Log损失
- Matthews 相关系数
- ROC
- 0-1损失
- Brier score损失
- 多标签分级度量
- Coverage误差
- 分级标签平均准确度
- 分级损失
- 回归度量
- Explained variance score
- 均值绝对误差
- 均值平方误差
- 均值平方对数误差
- 中位数绝对误差
- R2R2 score定义相关性
- 聚类度量
- 简陋评分器
- 评分参数定义模型评价规则
在sklearn库里,用于评估模型预测的质量的API一共有3种:
- 评分方法:评估者具有
score(),面向其要解决的问题,可以提供一个默认评估标准。 这部分内容不在本文中讲述,因为它因不同的模型而异,所以会在各个模型的介绍文档中讲述。 - 评分参数:使用交叉验证的模型评估工具(如
model_selection.cross_val_score和model_selection.GridSearchCV)依赖于内部评分策略。这些内容会在其他章节(评分参数:定义模型评判规则)中讨论。 - 度量函数:
metrics模块实现了针对特定目的评估误差的功能。 这些指标会在下面这些章节详细介绍:Classification metrics, Multilabel ranking metrics, Regression metrics and Clustering metrics.
最后,Dummy estimators对于获得随机预测的这些指标的基准值是有用的。
声明:
- 本文译自Python库sklearn里的官方文档
- 需要读者对Python有一定的了解
- 本文超长…而且因为水平有限,有些地方翻译的较为生硬。
聚类性能评估部分。
简陋评分器
??在进行监督学习的过程中,简单清晰的检查包括将一个估计模型与简单的经验法则进行比较。 DummyClassifier实现了几种简单的分类策略:
stratified根据训练数据类的分布产生随机数据。most_frequent总是将结果预测为训练集中最常用的标签。prior总是预测为先前最大的那个类。uniform产生均匀随机预测。constant总是预测为用户提供的常量标签。这种方法的主要靠的是F1分值,此时的正例数量较小。
为了说明DummyClassifier,首先让我们创建一个不平衡的数据集:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
iris = load_iris()
X, y = iris.data, iris.target
y[y != 1] = -1
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
然后再来比较一下SVC和most_frequent:
from sklearn.dummy import DummyClassifier
from sklearn.svm import SVC
clf = SVC(kernel='linear', C=1).fit(X_train, y_train)
print clf.score(X_test, y_test) # 0.63...
clf = DummyClassifier(strategy='most_frequent',random_state=0)
clf.fit(X_train, y_train)
print clf.score(X_test, y_test) # 0.57...
可以看出,
SVC的效果不比简陋的分类器(dummy classifier)号多少,下面,让我们换一下svc的核函数:
clf = SVC(kernel='rbf', C=1).fit(X_train, y_train)
clf.score(X_test, y_test) # 0.97...
??我们看到准确率提高到近100%。建议使用交叉验证策略,以便更好地估计精度。更一般地说,当分类器的准确度太接近随机时,这可能意味着出现了一些问题:特征没有帮助,超参数没有正确调整,数据分布不平衡等
DummyRegressor还实现了四个简单的经验法则:
mean:预测训练目标的平均值。median:预测训练目标的中位数。quantile:预测用户提供的分数量的训练目标。constant:预测用户提供的常数值。