重磅干货,第一时间送达
在本文中,我们将了解什么是特征工程以及如何将其应用于您的机器学习算法。
介绍
在我们进一步研究之前,我们需要定义机器学习中的特征。如果您不熟悉机器学习,那么特征就是机器学习算法模型的输入。特征工程使用数学、统计学和领域知识从原始数据中提取有用的特征的方法。例如,如果两个数字特征的比率对分类实例很重要,那么计算该比率并将其作为特征包含可能会提高模型质量。例如有两个特征:平方米和公寓价格。您可能需要通过获取每平方米价格来创建特征以改进您的模型。
如何做特征工程?
让我们看看特征工程的不同策略。在本文中,我们不会看到所有方法,而是最流行的方法。添加和删除特征:
如果我们想预测公寓的价格,植物的数量可能无关紧要。在这种情况下,我们需要从机器学习模型中删除此功能,以免添加额外的噪音。
这种噪音被称为维度灾难。这意味着随着数据中特征数量的增加,构建良好模型所需的数据点数量呈指数增长。在上面的例子中,我们可以看到平方米和平方英尺实际上是相同的数据,但不是相同的单位。如果我们将其提供给我们的算法,它将必须了解平方米和平方英尺是相关的并且实际上是相同的特征。
这就是为什么我们需要决定采用哪种测量并只保留一个。我们也可以有两个特征,狗的数量和猫的数量,并在动物数量下将它们组合起来。尽管如此,结合这些功能并不是每次都是一个好主意。例如,在日期特征的情况下,可能是星期几很重要。
您需要保留您认为与模型相关的特征,以获取数据中的正确信号。- 删除不尝试使用不具有代表性的数据点进行训练的异常值。
- 摆脱比例尺,例如,如果您有以厘米为单位的要素而其他一些以米为单位的要素,请尝试将所有要素都以厘米为单位进行转换。这称为规范化。
- 由于更容易的分布,转换倾斜的数据以使其更适合我们的模型。
在那个例子中,我们可以假设销售价格取决于有游泳池的事实。
然后我们可以通过预处理数据并用布尔未来替换游泳池长度来简化我们的模型。独热编码是一种以机器学习算法能够理解的方式表示分类数据的方式。我们的模型理解数字但不理解字符串,这就是我们需要将字符串转换为数字的原因。但是,我们不能为我们的字符串分配随机数,因为我们的模型可能比小数字更重视大数字。这就是为什么我们要使用 one-hot 编码的原因。One-hot 编码对于用机器学习模型能够理解的简单数字数据替换分类数据很有用。
总结
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、
医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

