安居多伦多
  • 多市生活
    • 多市生活
    • 加国税务
    • 旅游度假
    • 生活安全
    • 行车安全
    • 窍门集锦
  • 多市书苑
    • 热门
    • 小说
    • 教育
  • 家居信息
    • 家居信息
    • 房屋保养
    • 房屋贷款
    • 房屋租赁
    • 房屋建筑
    • 房前屋后
    • 家居风水
  • 健康保健
    • 健康保健
    • 饮食起居
    • 食品安全
    • 健身锻炼
  • 书苑账户
    • 书苑登入
    • 书苑注册
    • 忘记书苑密码
    • 书苑账户信息
    • 关于我们
    • 联系我们
    • 隐私政策
多伦多书苑
在线书籍:随时阅读,随身听书。
所有书籍 | 人文 | 人物 | 人生 | 健康 | 儿童 | 医学 | 历史 | 历史 | 古典 | 哲学宗教 | 商业 | 外国 | 寓言 | 小说 | 教育 | 风水 | 管理 | 语言 |
为使本公益资源网站能继续提供免费阅读,请勿屏蔽广告。谢谢!报告弹出广告被滥用。
  1. 安居多伦多
  2. 网上书苑
  3. IT
  4. Python
  5. Python机器学习手册:从数据预处理到深度学习

Python机器学习手册:从数据预处理到深度学习

2022-02-15 0人点赞 0条评论
点赞
x
语速1.0: 2.0
进度0:

上一页   |   返回目录   |   下一页

17.1 训练一个线性分类器

问题描述

训练一个模型对观察值分类。

解决方案

用支持向量分类器(Support Vector Classifier,SVC)来寻找最大化分类之间间距的超平面:

17.1 训练一个线性分类器

讨论

scikit-learn的LinearSVC实现了一个简单的SVC。为了让你对SVC的作用有一个直观的认识,我们在下页的图中画出了样本点和超平面。尽管SVC在高维空间有很好的表现,但上述解决方案中只加载了两个特征和一部分样本数据,数据集内只有两个分类的数据,因此我们可以可视化这个模型。回忆一下前面的内容,SVC一直试图找到一个能最大化分类之间间距的超平面,因为本例中只有两个维度,所以这里的超平面就是一条直线。在下面的代码中,我们把两个分类画在一个二维空间上,然后画出了这个超平面。

17.1 训练一个线性分类器

17.1 训练一个线性分类器

17.1 训练一个线性分类器

在上图中,分类0的所有样本点都是黑色的,分类1的所有样本点都是浅灰色的。超平面就是决定新的样本点属于哪一个分类的分界线。也就是说,在这条线上方的所有样本点会被归为分类0,而在这条线下方的样本点会被归为分类1。我们可以看到,如果在左上角的空间创建一个新的样本点,那么它会被预测为属于分类0:

17.1 训练一个线性分类器

对于SVC,有几点需要特别注意。首先,为了方便可视化,我们把本例限定为二元分类问题(只有两个分类),其实SVC在处理多元分类问题时表现也不错。其次,如上图所示,本例中的超平面被定义为直线(没有弯曲)。因为我们的数据集是线性可分的,也就是说存在一个超平面可以完美地分开这两个分类的样本点,所以在这个例子中超平面就是一条直线。但不幸的是,在真实世界中,这种情况并不多见。

更常见的情况是,我们并不能完美地将数据分类。在这些情况下,需要在SVC最大化超平面两侧的间距和最小化分类错误之间取得平衡。在SVC中,后者是通过一个超参数C (分类错误时所需要接受的惩罚)来控制的。C是SVC学习器的一个参数,也是学习器将一个样本点分类错误时被施加的罚项。当C很小时,SVC可以容忍更多的样本点被错误分类(偏差大,方差小)。当C很大时,SVC会因为对数据的错误分类而被重罚,因此通过反向传播来避免对样本点的错误分类(偏差小、方差大)。

在scikit-learn中,C是由参数C所决定的,默认值是1.0。应该把C当作机器学习算法中的一个超参数,可以用第12章中讲的模型选择技术进行调校。

上一页   |   返回目录   |   下一页

类似书籍

机器学习实战
机器学习实战
Python机器学习——预测分析核心算法
Python机器学习——预测分析核心算法
Python机器学习实践指南
Python机器学习实践指南
Author:

标签: 暂无
最后更新:2022-02-15
< 上一篇
下一篇 >

本书评论

取消回复

©2021 安居多伦多 - 版权所有

本站由 好事来 Hostlike.com 提供技术支持。