学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
Python实战微信订餐小程序 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
Python量化交易实战 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
精度可以作为度量模型好坏的一个指标,它表示预测正确的样本数占所有样本数的比例。
但是在实践中,我们通常不仅对精确的预测感兴趣,还希望将这些预测结果用于更大的决策过程
我们先看一下测量精度可能会怎么误导我们
⭐精度并不能很好地度量预测性能,因为我们所犯得错误并不包括我们感兴趣的所有信息:
例如:有一个自动化测试筛选癌症,如果测试结果为阴性,则认为该患者是健康的,若是阳性则需要进一步筛查。在这里我们将阳性测试结果称为正类,阴性结果称为负类,
于是就有了以下两种常见的错误类型:
第一类错误:假正例(错误的阳性预测,可能导致额外费用)
第二类错误:假反例(错误的阴性预测,可能使得病人无法及早发现病情,造成严重后果)
⭐不平衡数据集:一个类别比另一个类别出现次数多很多的数据集
下面将用到:
创建数据集
#创建一个不平衡数据集
from sklearn.datasets import load_digits
import numpy as np
digits = load_digits()
y = digits.target==9
print("类别:{}".format(np.bincount(y)))
'''
`类别:[1617 180]`
'''
建立四个模型
from sklearn.dummy import DummyClassifier
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
X_train,X_test,y_train,y_test = train_test_split(digits.data,y,random_state=0)
#构建始终预测大多数的模型
#始终预测多数类
dummy_majority = DummyClassifier(strategy='most\_frequent').fit(X_train,y_train)
pred_most_frequent = dummy_majority.predict(X_test)
print("始终预测多数类 Test score:{:.2f}".format(dummy_majority.score(X_test,y_test)))
#产生随机输出
dummy = DummyClassifier()