写给小白的机器学习之数据表示与特征工程详解(附实战代码)

数据类型有很多,在机器学习中,这些类型基本特征大致分为两类:

  1. 一是如浮点数组成的连续特征
  2. 二是通常并不是数值的分类特征,或者叫做离散特征

通常无论你的数据包含那种类型的特征,数据表示方式都会对机器学习模型的性能产生巨大影响,这就要求我们要对数据进行处理,如数据放缩、特征扩充等等。

对于某个特定应用来说,如何找到最佳数据表示,这个问题被称为特征工程(feature engineering)
它是数据科学家和机器学习从业者在尝试解决现实世界问题时的主要任务之一。用正确的方式表示数据,对监督模型性能的影响比所选择的精确参数还要大。

1. 分类变量

在这里插入图片描述
如图,这是美国成年人收入的数据图。
最后的输出的income是一个分类任务(>50和<=50),当然很多时候会让你预测具体收入值,这就更困难了。
这个数据集中,age(年龄)和 hours-per-week(每周工作时长)是连续特征。但 workclass(工作类型)、education(教育程度)、gender(性别)、occupation(职业)都是分类特征。它们都来自一系列固定的可能取值(而不是一个范围),表示的是定性属性(而不是数量)。
若都是数值我们可以用Logistic回归来做
在这里插入图片描述
但现在不是数值,用这个就没有意义了,所以我们要将其数字化。

1.1 One-Hot编码(虚拟变量)

one-Hot编码也称为N取一编码,也叫虚拟变量
虚拟变量背后的思想是将一个分类变量替换为一个或多个新特征,新特征取值为 0 和 1。
如有workclass有三个特征“State-gov”,“Self-emp-not-inc”,“Private“。“State-gov”可以取为[1,0,0],“Self-emp-not-inc”可以为[0,1,0],“Private“可以是[0,0,1]。
这个表可能更直观一些
在这里插入图片描述
剩下还有很多内容,md格式实在不太方便,还望移步到我的GitHub
https://github.com/lizheng-1/cnn1/blob/master/Untitled.ipynb

github慢的话码云也可以
https://gitee.com/lizheng0219/cnn1/blob/master/Untitled.ipynb

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页