三分钟看懂机器学习中应该注意哪些问题?

本文简单谈谈机器学习中应该注意的一些问题。仅供大家参考学习和讨论。

1. 特征预处理

机器学习中的输入数据必须是数值类型的,但是现实问题中不免会有一些类别类型的数据,比如性别,颜色,婚姻状况等等,这些类别的数据是无法直接用于机器学习的。那么如何将这类数据转变成数值类型的数据呢?通常可以利用one hot 编码或者标签编码将这类数据变换成数值类型的数据。

比如性别,性别可以分为男,女,这种数据可以利用标签编码来将其变换成数值类型的特征,比如男变换成0,女变换成1。如果性别中还包含未知,或者保密,此时可以将数据通过one hot 编码将其变成四个变量,性别_男,性别_女,性别_未知,性别_保密,这四个变量的取值都是0,1取值的,某个用户的性别属性属于哪种,哪个变量取值就是1,其余变量取值为0。比如某个用户性别为男,那么对应的特征为[性别_男,性别_女,性别_未知,性别_保密]=[1,0,0,0]。

容易看出,如果利用one hot 编码会使得特征个数增加,如果利用标签编码,不会使得特征个数增加,这是因为利用标签编码变换特征时,只是将原来的特征变换为0或者1。

2. 时间序列数据的交叉验证

针对时间序列类型的数据集,交叉验证不能用一般的k折交叉验证或者留一法来验证。这是因为,时间序列类型的数据比较特殊,在某个时间段的特征在另一个时间段不一定具有相同的特征。另外,如果采用采样的方法,有可能导致验证时会在先于训练集中时间点的数据上验证,这种测试是不合理的。

对于时间序列类型的数据,可以利用前向链式策略来验证,比如k折交叉验证:

fold 1 : training [1], test [2]

fold 2 : training [1 2], test [3]

......

fold k : training [1 2 ... k], test [k+1]

其中下标表示时间序列的单位,比如日,月,年等。

3. 缺失值

给定一个数据集,如果其中某个特征中缺失值的比例比较高,处理的方法可以参考以下几种做法。

第一种,将缺失值设为一种特殊类别的数据,将其作为一种特殊情形。

第二种,将相应的特征直接剔除掉。

原文发布于微信公众号 - CDA数据分析师(cdacdacda)

原文发表时间:2017-04-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

手把手教你实现SVM算法

什么是机器学习 (Machine Learning) 机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断...

352100
来自专栏WD学习记录

机器学习 学习笔记(20)深度前馈网络

深度前馈网络(deep feedforward network),也叫做前馈神经网络(feedforward neural network)或者多层感知机(mu...

39830
来自专栏机器学习原理

机器学习(6)——决策树前言:

前言: 通过第前面的学习介绍了机器学习回归模型创建的流程,并且知道了机器学习要做的事情是找到目标函数,优化它,通过每次迭代都使目标函数值最小,最优解就是目标函数...

513100
来自专栏计算机视觉战队

每日一学——最优化(下)

梯度计算 计算梯度有两种方法:一个是缓慢的近似方法(数值梯度法),但实现相对简单。另一个方法(分析梯度法)计算迅速,结果精确,但是实现时容易出错,且需要使用微分...

397100
来自专栏人工智能

机器学习算法:选择您问题的答案

当我开始涉足数据科学时,我经常面临为如何我的问题选择最合适的算法的问题。如果你像我一样,当你看到一些关于机器学习算法的文章时,你会看到许多详细的描述。但是,即使...

42270
来自专栏应用案例

入门必看!一文读懂神经网络中的激活函数(二)

看看深度学习之激活函数 本篇接着上一篇推文入门《必看!从零开始了解到训练神经网络(一)》,在介绍完神经网络的基本原理和结构之后,继续介绍神经网络中的关键之一 —...

593100
来自专栏AI科技大本营的专栏

笔记 | 吴恩达Coursera Deep Learning学习笔记

向AI转型的程序员都关注了这个号☝☝☝ ? 作者:Lisa Song 微软总部云智能高级数据科学家,现居西雅图。具有多年机器学习和深度学习的应用经验,熟悉各种业...

466150
来自专栏人工智能LeadAI

零基础入门深度学习 | 第五章: 循环神经网络

无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习这个超热的技术,会不会感...

59170
来自专栏ATYUN订阅号

序列预测问题的简单介绍

序列预测与其他类型的监督学习问题不同。这个序列在观察结果上被强加了一个命令:当训练模型和做预测时序列必须保存。通常,包含序列数据的预测问题被称为序列预测问题,尽...

35050
来自专栏PPV课数据科学社区

机器学习算法基础概念学习总结

1.基础概念 (1) 10折交叉验证:英文名是10-fold cross-validation,用来测试算法的准确性。是常用的测试方法。将数据集分成10份。轮...

39140

扫码关注云+社区

领取腾讯云代金券