数值数据:模型如何使用特征向量注入数据
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
到目前为止,我们给您的印象是,模型会直接对数据集的行执行操作;但实际上,模型提取数据的方式略有不同。
例如,假设某个数据集提供了五个列,但其中只有两个列(b
和 d
)是模型中的特征。在处理第 3 行中的示例时,模型是否会像下面这样简单地抓取突出显示的两个单元格(3b 和 3d)的内容?
图 1. 这并不是模型获取示例的确切方式。
事实上,该模型实际上会提取一个浮点值数组,称为特征向量。您可以将特征向量视为构成一个示例的浮点值。
图 2. 更接近真实情况,但不切合实际。
不过,特征矢量很少使用数据集的原始值。相反,您通常必须将数据集的值处理成模型可以更好地学习的表示形式。因此,更现实的特征向量可能如下所示:
图 3. 更逼真的特征向量。
使用数据集中的实际值进行训练,而不是使用经过更改的值,模型的预测结果会更好吗?令人惊讶的是,答案是否定的。
您必须确定将原始数据集值表示为特征向量中可训练值的最佳方法。此过程称为特征工程,是机器学习的重要组成部分。最常见的特征工程技术包括:
- 归一化:将数值转换为标准范围。
- 分桶(也称为分桶):将数值转换为范围分桶。
本单元将介绍归一化和分箱。下一部分“处理分类数据”将介绍其他形式的预处理,例如将非数值数据(例如字符串)转换为浮点值。
特征向量中的每个值都必须是浮点值。不过,许多特征本质上是字符串或其他非数字值。因此,特征工程的很大一部分是将非数值表示为数值。在后续单元中,您将看到很多这类内容。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-01-03。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-01-03。"],[],[]]