要解决一个机器学习问题,我们不能仅仅通过将算法应用到提供的数据上 。比如.fit()。我们首先需要构建一个数据集 。
将原始数据转换为数据集的任务称为特征工程 。
例如,预测客户是否坚持订阅特定产品 。这将有助于进一步提高产品或用户体验,还有助于业务增长 。
原始数据将包含每个客户的详细信息,如位置、年龄、兴趣、在产品上花费的平均时间、客户续订订阅的次数 。这些细节是数据集的特性 。创建数据集的任务是从原始数据中了解有用的特性,并从对结果有影响的现有特性中创建新特性,或者操作这些特性,使它们可以用于建模或增强结果 。整个过程被简称为特性工程 。
有多种方法可以实现特征工程 。根据数据和应用程序不同来分类 。
在本文中,我们将了解为什么使用特征工程和特征工程的各种方法 。
为什么使用特征工程?特征工程出现在机器学习工作流程的最初阶段 。特性工程是决定结果成败的最关键和决定性的因素 。
![简介机器学习中的特征工程](http://img.jiangsulong.com/220420/1K4545937-0.jpg)
文章插图
特征工程在机器学习工作流程中的地位
许多Kaggle比赛都是通过基于问题创建适当的功能而获胜的 。例如,在一场汽车转售比赛中,获胜者的解决方案包含一个分类特征——普通汽车的颜色,稀有汽车的颜色 。这一特性增加了汽车转售的预测效果 。既然我们已经理解了特性工程的重要性,现在让我们深入研究用于实现的各种标准方法 。
现在让我们了解如何实现特性工程 。以下是广泛使用的基本特征工程技术,
· 编码
· 分箱
· 归一化
· 标准化
· 处理缺失值
· 数据归责技术
编码有些算法只处理数值特征 。但是,我们可能有其他数据,比如在我们的例子中"用户观看的内容类型" 。为了转换这种数据,我们使用编码 。
One-Hot编码将分类数据转换为列,并将每个惟一的类别作为列值,这是一种One-Hot编码 。
下面是实现One-Hot编码的代码片段,
encoded_columns = pd.get_dummies(data['column'])data = https://www.isolves.com/it/ai/2020-08-10/data.join(encoded_columns).drop('column', axis=1)
当分类特征具有不那么独特的类别时,这种方法被广泛使用 。我们需要记住,当分类特征的独特类别增加时,维度也会增加 。标签编码通过为每个类别分配一个唯一的整数值,将分类数据转换为数字,称为标签编码 。
比如"喜剧"为0,"恐怖"为1,"浪漫"为2 。但是,这样划分可能会使分类具有不必要的一般性 。
当类别是有序的(特定的顺序)时,可以使用这种技术,比如3代表"优秀",2代表"好",1代表"坏" 。在这种情况下,对类别进行排序是有用的 。
下面是要实现标签编码器的代码片段 。
from sklearn.preprocessing import ColumnTransformerlabelencoder = ColumnTransformer()x[:, 0] = labelencoder.fit_transform(x[:, 0])
分箱另一种相反的情况,在实践中很少出现,当我们有一个数字特征,但我们需要把它转换成分类特征 。分箱(也称为bucketing)是将一个连续的特性转换成多个二进制特性的过程,通常基于数值 。![简介机器学习中的特征工程](http://img.jiangsulong.com/220420/1K4543309-1.jpg)
文章插图
将数值数据分成4、8、16个箱子
#Numerical Binning ExampleValueBin0-30->Low31-70->Mid71-100 ->High#Categorical Binning ExampleValueBinGermany->EuropeItaly->EuropeIndia->AsiaJapan->Asia
分箱的主要目的是为了使模型更健壮,防止过拟合,但这对性能有一定的影响 。每次我们丢弃信息,我们就会牺牲一些信息 。正则化归一化(也称为最小最大归一化)是一种缩放技术,当应用它时,特征将被重新标定,使数据落在[0,1]的范围内 。
特征的归一化形式可通过如下方法计算:
![简介机器学习中的特征工程](http://img.jiangsulong.com/220420/1K4546113-2.jpg)
文章插图
归一化的数学公式 。
这里' x '是原始值而' x '是归一化值 。
![简介机器学习中的特征工程](http://img.jiangsulong.com/220420/1K4542193-3.jpg)
文章插图
![简介机器学习中的特征工程](http://img.jiangsulong.com/220420/1K4543U5-4.jpg)
文章插图
原始数据、归一化数据的散点图
在原始数据中,alcohol在[11,15],malic在[0,6] 。归一化数据中,alcohol在[0,1]之间,malic在[0,1]之间 。
推荐阅读
- DNS_Sec搭建
- 苹果|苹果宣布首次在产品中采用再生金!全新回收机器人Taz亮相
- 阴阳师ssr画符抽卡技巧简介
- 江西靖安白茶简介,靖安白茶生长环境
- 移动空调噪音解决办法?移动空调怎么降低机器噪音?
- 破局产能之困!协作机器人如何助力华南“智造”升级?
- 俄国首位机器人宇航员进太空 苏联宇航员对接空间站
- Windows WDS服务安装配置
- 2020年顶级深度学习框架:PyTorch与TensorFlow
- 汉水银梭茶叶怎么样,紫砂壶汉瓦壶简介