专栏名称: 机器学习研究会
机器学习研究会是北京大学大数据与机器学习创新中心旗下的学生组织,旨在构建一个机器学习从事者交流的平台。除了及时分享领域资讯外,协会还会举办各种业界巨头/学术神牛讲座、学术大牛沙龙分享会、real data 创新竞赛等活动。
目录
相关文章推荐
爱可可-爱生活  ·  [LG]《Counterfactual ... ·  3 天前  
爱可可-爱生活  ·  【Datago:Python友好的高性能数据 ... ·  3 天前  
爱可可-爱生活  ·  【LLM-Dojo:开源大模型学习场,提供简 ... ·  3 天前  
爱可可-爱生活  ·  晚安~ #晚安# -20240922225825 ·  1 周前  
51好读  ›  专栏  ›  机器学习研究会

千锤万凿出深山:且谈特征工程最佳实践

机器学习研究会  · 公众号  · AI  · 2017-08-03 21:54

正文

本文将探讨 20 项特征工程的最佳实践与启发性结论,包括指标变量、交互特征、特征表达、外部数据引入、错误分析等,希望能够帮助大家顺利踏上特征工程之旅。


作为为机器学习创建新特征的实现过程,特征工程已经成为改进预测模型的最具实效的方法之一。

获取特征难度极高、相当耗时且要求具备专业知识。“应用机器学习”在本质上其实就是在实现特征工程。

—— Andrew Ng

通过特征工程方法,你将能够提取关键信息、突出数据模式并引入你的领域专长。但由于特征工程突出的开放性,极易令实施者陷入困境。


什么是特征工程?  


作为一个非正式议题,特征工程可能拥有多种潜在定义。事实上,由于机器学习流程的流动性与迭代性,我们很难为特征工程找到概念层面的惟一“正确答案”。

根据自身理解,我们将特征工程定义为“基于现有的特征创建新特征,以提升模型性能的过程”。

典型的数据科学流程可能如下所示:

  1. 项目范围设定 / 数据收集

  2. 探索性分析

  3. 数据清理

  4. 特征工程

  5. 模型训练(包括交叉验证以调整超参数)

  6. 项目交付 / 获得见解


什么不是特征工程?  


上述流程意味着我们会将一些步骤明确排除在特征工程范畴之外:

  • 我们认为 初始数据收集 并不属于特征工程。

  • 同样的,我们认为 创建目标变量 不属于特征工程。

  • 我们认为删除重复项、处理丢失值或者修复错误标记类并不属于特征工程,我们将这些纳入 数据清理 范畴。

  • 我们认为 特征缩放或者归一化 不属于特征工程,因为此类步骤归属于交叉验证循环(即在你已经建立起分析基表之后)。

  • 最后,我们认为 特征选择或者主成分分析(PCA) 并不属于特征工程。这些步骤同样归属于交叉验证循环。

再次强调,这些只是我们给出的分类意见。我们接受其他数据科学家对此提出的质疑,毕竟特征工程本身就属于一个开放性概念。

免责声明到此结束,下面让我们进一步探讨与之相关的最佳实践与启发性结论。


指标变量  


特征工程的第一种类型是利用指标变量提取关键信息。

现在,有些朋友可能会问,“好的算法不是应该自行学习关键信息吗?”

这个嘛,情况并非总是如此,具体取决于你所拥有的数据量以及竞争信号的强度。你可以通过预先突出重要内容帮助算法对其给予“关注”。

  • 来自阈值的指标变量: 我们假设你正在研究美国消费者对于酒精饮料的偏好,而当前数据集包含年龄特征 age。您可以创建一个指标变量 age>=21 以区分达到合法饮酒年龄的受试者。

  • 来自多种特征的指标变量: 假设你正在预测房地产价格,并且已经掌握了 n_bedroomsn_bathrooms 两项特征。如果拥有两卧两卫的房产在出租时拥有溢价性,你就可以创建一项指标变量对其进行标记。

  • 针对特殊事件的指标变量: 假设你正在为电子商务网站的每周销售情况建模。你可以为黑色星期五与圣诞节那两周分别创建两项指标变量。

  • 类组指标变量: 假设你正在分析网站转换率,而当前数据集包含 traffic_source 这一分类特征。你可以通过标记“Facebook 广告”或者“谷歌广告”为 paid_traffic 创建指标变量。


转自:大数据杂谈