学习数据科学和机器学习中的特征工程只需5分钟
你准备好学习机器学习和数据科学的特征工程了吗?你来对地方了!
特征工程是从数据中提取有价值洞察的关键技能,在这个简明指南中,我将把它分解成简单易懂的部分。所以,让我们立刻开始你的特征提取之旅吧!
什么是特征工程?
当你创建一个与业务或实验问题相关的机器学习模型时,你会以列和行的形式提供学习数据。在数据科学和机器学习开发领域,列被称为属性或变量。
这些列下面的细粒度数据或行被称为观察值或实例。这些列或属性是原始数据集中的特征。
这些原始特征不足以训练一个机器学习模型。为了减少收集到的元数据的噪声并从特征中获得最大的信号,你需要通过特征工程将元数据列转换或转化为功能性特征。
示例1:金融建模
例如,在上面的示例数据集图片中,从a到g的列是特征。每列中的值或文本字符串,如姓名、存款金额、存款年限、利率等,是观察值。
在机器学习建模中,你必须删除、添加、合并或转换数据,以创建有意义的特征并减小整体模型训练数据库的大小。这就是特征工程。
在前面提到的相同数据集中,像tenure total和interest amount这样的特征是不必要的输入。它们只会占用更多的空间并使机器学习模型变得混乱。所以,你可以从总共七个特征中去掉两个。
由于机器学习模型中的数据库包含数千列和数百万行,减少两个特征对项目影响很大。
示例2:ai音乐播放列表生成器
有时,你可以从多个现有特征中创建一个全新的特征。假设你正在创建一个ai模型,该模型将根据事件、口味、模式等自动创建音乐播放列表。
现在,你从各种来源收集了关于歌曲和音乐的数据,并创建了以下数据库:
上述数据库中有七个特征。然而,由于你的目标是训练机器学习模型来决定哪首歌曲或音乐适合哪个事件,你可以将genre、rating、beats、tempo和speed这些特征合并成一个名为applicability的新特征。
现在,无论是通过专业知识还是模式识别,您都可以将某些特征的实例组合起来,确定哪首歌适合哪个事件。例如,类似于jazz,4.9,x3,y3和z1的观察结果告诉机器学习模型,如果用户正在寻找一首睡眠时间的歌曲,那么cras maximus justo et这首歌应该在用户的播放列表中。
机器学习中的特征类型
分类特征
这些是代表不同类别或标签的数据属性。您必须使用此类型来标记定性数据集。
#1. 有序分类特征
有序特征具有具有有意义的顺序的类别。例如,教育水平(如高中、学士、硕士等)在标准上有明显的区别,但没有定量差异。
#2. 名义分类特征
名义特征是没有任何内在顺序的类别。例如,颜色、国家或动物的类型。此外,只有定性差异。
数组特征
此特征类型表示以数组或列表形式组织的数据。数据科学家和机器学习开发人员经常使用数组特征来处理序列或嵌入式分类数据。
#1. 嵌入式数组特征
嵌入式数组将分类数据转换为密集向量。它常用于自然语言处理和推荐系统。
#2. 列表数组特征
列表数组存储数据的序列,例如按顺序排列的物品列表或操作历史记录。
数值特征
这些机器学习训练特征用于执行数学运算,因为这些特征代表定量数据。
#1. 区间数值特征
区间特征的值之间具有一致的间隔,但没有真正的零点,例如温度监测数据。在这里,零表示冰冻温度,但属性仍然存在。
#2. 比率数值特征
比率特征的值之间具有一致的间隔和真正的零点。例如年龄、身高和收入。
特征工程在机器学习和数据科学中的重要性
- 有效的特征提取可以提高模型的准确性,使预测结果更可靠,对决策更有价值。
- 精心选择特征可以消除无关或冗余的属性,简化模型并节省计算资源。
- 精心设计的特征可以揭示数据模式,帮助数据科学家理解数据集内的复杂关系。
- 根据具体算法定制特征可以优化各种机器学习方法中的模型性能。
- 精心设计的特征可以加快模型训练速度,减少计算成本,简化机器学习工作流程。
接下来,我们将逐步介绍特征工程的过程。
特征工程的逐步过程
- 数据收集:首先,需要从各种来源(如数据库、文件或api)收集原始数据。
- 数据清洗:在获取数据后,您必须通过识别和纠正任何错误、不一致或异常值来清洗数据。
- 处理缺失值:缺失值可能会混淆机器学习模型的特征库。如果忽视它们,您的模型将存在偏差。因此,您必须进一步研究以输入缺失值,或者谨慎地忽略它们而不影响模型偏差。
- 编码分类变量:您必须将分类变量转换为数值格式以供机器学习算法使用。
- 缩放和归一化:缩放确保数值特征处于一致的尺度上。它可以防止具有大值的特征主导机器学习模型。
- 特征选择:此步骤有助于识别和保留最相关的特征,减少维度并提高模型效率。
- 特征创建:有时,可以从现有特征中创建新特征来捕捉有价值的信息。
- 特征转换:使用对数或幂变换等转换技术可以使数据更适合建模。
接下来,我们将讨论特征工程方法。
特征工程方法
#1. 主成分分析(pca)
pca通过寻找新的不相关特征来简化复杂数据。这些特征被称为主成分。您可以使用它来降低维度并提高模型性能。
#2. 多项式特征
创建多项式特征意味着将现有特征的幂加入以捕捉数据中的复杂关系。它有助于模型理解非线性模式。
#3. 处理异常值
异常值是可以影响模型性能的异常数据点。您必须识别和处理异常值以防止结果偏斜。
#4. 对数变换
对数变换可以帮助您对具有偏态分布的数据进行归一化。它减少了极端值的影响,使数据更适合建模。
#5. t-分布随机邻近嵌入(t-sne)
t-sne对于可视化高维数据非常有用。它降低了维度,并使聚类更加明显,同时保留数据结构。
在这种特征提取方法中,您将数据点表示为低维空间中的点。然后,您将相似的数据点放置在原始的高维空间中,并被建模为在较低维度表示中彼此靠近。
它通过保留数据点之间的结构和距离,与其他降维方法不同。
#6. 独热编码
独热编码将分类变量转换为二进制格式(0或1)。因此,您为每个类别获得新的二进制列。独热编码使分类数据适用于机器学习算法。
#7. 计数编码
计数编码将分类值替换为它们在数据集中出现的次数。它可以捕捉分类变量中的有价值信息。
在这种特征工程方法中,您使用每个类别的频率或计数作为新的数值特征,而不是使用原始的类别标签。
#8. 特征标准化
具有较大值的特征往往会主导具有小值的特征。因此,机器学习模型很容易产生偏差。标准化可以防止这种偏差。
标准化过程通常包括以下两种常见技术:
- z-score标准化:该方法将每个特征转换为具有平均值为0和标准差为1的特征。在这里,您从每个数据点中减去特征的平均值,并将结果除以标准差。
- 最小-最大缩放:最小-最大缩放将数据转换为特定范围,通常是0到1之间。您可以通过从每个数据点中减去特征的最小值,并除以范围来实现这一点。
#9. 归一化
通过归一化,数值特征被缩放到一个常见的范围,通常是0到1之间。它保持了值之间的相对差异,并确保所有特征处于同一水平。
流行的特征工程工具
#1. featuretools
featuretools是一个开源的python框架,可以自动从时间和关系数据集中创建特征。它可以与您已经使用的工具一起用于开发机器学习流水线。
该解决方案使用deep feature synthesis来自动化特征工程。它具有用于创建特征的低级函数库。featuretools还有一个api,非常适合精确处理时间。
#2. catboost
如果您正在寻找一个开源库,该库将多个决策树结合起来创建一个强大的预测模型,请选择catboost。该解决方案使用默认参数提供准确的结果,因此您不需要花费数小时来微调参数。
catboost还允许您使用非数值因素来改善训练结果。借助catboost,您还可以获得更准确的结果和快速的预测。
#3. feature-engine
feature-engine是一个python库,具有多个转换器和选择特征,可用于ml模型。它包含的转换器可用于变量转换、变量创建、日期时间特征、预处理、分类编码、异常值截断或移除以及缺失数据插补。它能够自动识别数值、分类和日期时间变量。
特征工程学习资源
在线课程和虚拟课堂
#1. python中的机器学习特征工程:datacamp
这个datacamp的python机器学习特征工程课程可以帮助您创建改善机器学习模型性能的新特征。它将教您执行特征工程和数据整理来开发复杂的ml应用。
#2. 机器学习特征工程:udemy
通过这个机器学习特征工程课程,您将学习到诸如插补、变量编码、特征提取、离散化、日期时间功能、异常值等的主题。参与者还将学习处理偏态变量以及处理不常见、未知和罕见类别的方法。
#3. 特征工程:pluralsight
这个pluralsight学习路径共有六门课程。这些课程将帮助您了解特征工程在ml工作流中的重要性、应用其技术的方式以及从文本和图像中提取特征。
#4. 机器学习特征选择:udemy
借助这个udemy课程,参与者可以学习特征打乱、过滤、包装和嵌入方法、递归特征消除以及穷举搜索。它还讨论了包括python、lasso和决策树在内的特征选择技术。该课程包含5.5小时的点播视频和22篇文章。
#5. 机器学习的特征工程:great learning
这门来自great learning的课程将介绍特征工程,并教授过采样和欠采样的内容。此外,它还将让您进行模型调优的实践练习。
#6. 特征工程:coursera
加入coursera课程,使用bigquery ml、keras和tensorflow进行特征工程。这门中级课程还涵盖了高级特征工程实践。
电子书或精装书
#1. 机器学习的特征工程
本书教您如何将特征转换为适用于机器学习模型的格式。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
|
机器学习的特征工程:数据科学家的原理和技术 | $56.99 | 在亚马逊上购买 |
它还教您特征工程原理和实际应用的练习。
#2. 特征工程与选择
通过阅读本书,您将学习在不同阶段开发预测模型的方法。
预览 | 产品 | 评级 | 价格 | |
---|---|---|---|---|
|
特征工程与选择 (chapman & hall/crc data science系列) | $44.78 | 在亚马逊购买 |
通过它,您可以学习找到用于建模的最佳预测器表示的技术。
#3. 特征工程易学
该书是增强ml算法预测能力的指南。
预览 | 产品 | 评级 | 价格 | |
---|---|---|---|---|
|
特征工程易学:识别数据集中的独特特征以构建强大的… | $41.98 | 在亚马逊购买 |
它教你如何设计和创建适用于基于ml的应用程序的高效特征,并提供深入的数据洞察。
#4. 特征工程训练营
本书通过实际案例研究,教授特征工程技术,以获得更好的ml结果和升级的数据处理。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
|
特征工程训练营 | $57.88 | 在亚马逊购买 |
阅读本书将确保您能够在不花费太多时间微调机器学习参数的情况下获得改进的结果。
#5. 特征工程的艺术
这本资源对于任何数据科学家或机器学习工程师都是必不可少的元素。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
|
特征工程的艺术:机器学习的基础 | $39.99 | 在亚马逊购买 |
本书使用跨领域的方法讨论图形、文本、时间序列、图像和案例研究。
结论
所以,这就是如何进行特征工程。现在您已经了解了定义、逐步过程、方法和学习资源,您可以将其应用到您的机器学习项目中并看到成功!
接下来,查看关于强化学习的文章。