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

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

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

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

13.2 处理特征之间的影响

问题描述

一个特征对目标变量的影响取决于另一个特征,现在要处理两个特征之间的影响。

解决方案

使用scikit-learn的PolynomialFeatures创建多项式特征,对这种依赖关系建模:

13.2 处理特征之间的影响

13.2 处理特征之间的影响

讨论

有时某个特征对目标向量的影响部分取决于另一个特征。想象一个与冲咖啡有关的简单例子。我们有两个二元特征——是否加糖(sugar)和是否搅拌(stirred),现在想要预测咖啡是不是甜的。只把糖加入咖啡中(sugar=1,stirred=0)不会使咖啡变甜(所有的糖都沉在底部),只搅拌咖啡而不加糖(sugar=0,stirred=1)也不会让它变甜。但是,把糖放入咖啡中并搅拌(sugar=1,stirred=1)将使咖啡变甜。加糖和搅拌对咖啡变甜的影响是相互依赖的。在这种情况下,可以说加糖和搅拌之间存在相互作用。

将存在相互作用的一组特征的乘积作为新特征加入模型中,就可以对这种特征(交互特征)进行建模,其公式如下:

13.2 处理特征之间的影响

其中,x₁和x₂分别是sugar和stirred的值,x₁x₂代表两者之间的相互作用。

本解决方案使用的是仅包含两个特征的数据集。以下是第一个样本的两个特征:

13.2 处理特征之间的影响

要创建一个交互特征,只需将每个样本的这两个特征相乘即可:

13.2 处理特征之间的影响

然后,可以查看第一个样本的交互特征:

13.2 处理特征之间的影响

虽然我们经常有充分的理由相信两个特征之间存在相互作用,但有时并不是这样。在这种情况下,使用scikit-learn的PolynomialFeatures为所有的特征组合创建交互项(交互特征)会很有用,然后就可以使用模型选择策略找出能产生最佳模型的特征和交互项的组合。

要使用PolynomialFeatures创建交互特征,必须设置3个重要的参数。最重要的一个是interaction_only,设置interaction_only = True会告诉PolynomialFeatures只返回交互特征(而不是多项式特征,对于多项式特征,我们将在13.3节中讨论)。默认情况下,PolynomialFeatures将添加一个叫作偏差的特征(值全部为1),我们可以使用include_bias = False来阻止加入偏差。最后,degree参数用于确定最多用几个特征来创建交互特征(允许创建包含三个特征的交互特征)。在本解决方案中,可以通过观察第一个样本的特征与交互特征是否与我们人工计算的结果相同,来检查PolynomialFeatures是否正常工作:

13.2 处理特征之间的影响

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

类似书籍

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

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

本书评论

取消回复

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

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