
159
第 5 章
分类
数据科学家经常需要将业务问题的决策自动化。一封邮件是否在试图进行钓鱼攻击?某个
客户是否有可能流失?网站用户有可能点击这个广告吗?这些都是
分类
问题。分类是一种
监督学习
,我们先使用已知结果的数据训练一个模型,然后将这个模型应用到结果未知的
数据上。分类可能是最重要的预测形式,它的目标是预测一条记录是“
1
”还是“
0
”
(钓鱼
邮件
/
非钓鱼邮件
、会点击
/
不会点击、会流失
/
不会流失),或者在某些情况下,是几个
类别中的哪一类(例如,
Gmail
将
收件箱中的邮件分为“
primary
”“
social
”“
promotional
”
和“
forums
”类)
。
通常,我们需要的不仅是简单的二元分类,我们想知道的是一个个案属于某个类别的预测
概率。大多数算法不是简单地通过模型给出一个二元分类结果,而是返回每条记录属于相
应类别的概率分数(或者倾向分数)。实际上,使用逻辑回归时,
R
的默认输出是一个对
数发生比,必须转换为倾向分数。在
Python
的
scikit-learn
中,逻辑回归与其他多数分
类方法一样,提供了两种预测方法:
predict
(返回类别)和
predict_proba
(返回属于每
种类别的概率)。可以使用滑动临界值将倾向分数转换为某种决策。常用的方法如下所示。
1.
为感兴趣的类别确定一个临界概率,如果超过这个概率,就认为记录属于这个类别。
2.
(使用任意模型)估计出一条记录属于感兴趣的类别的概率。
3.
如果这个概率超过了临界概率,就向感兴趣的类别中加入这条新记录。
临界概率越高,预测为
1
的记录就越少 ...