行为数据分析理论与最佳实践 | 青训营笔记
这是我参与「第四届青训营 」笔记创作活动的第11天
-
机器学习概览
简单地说,机器学习其实就是一种对数据的建模技术,(就我个人看来也像是一种数据处理的算法模型),是一种从数据抽象出模型的技术。数据可以是各种信息,如文档、图像等等,模型就是机器学习的产物。
机器学习无法基于错误的训练数据来实现预期目标,就像给新生的婴儿几个苹果,一会儿告诉你是苹果,一会儿告诉你是梨子,一会儿又说是西瓜,他永远不会知道到底什么是苹果。所以,获取能够充分反应实际领域据特征的无偏训练数据至关重要。
-
特征工程
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。特征工程指的是把原始数据转变为模型的训练数据的过程,它的目的就是获取更好的训练数据特征,使得机器学习模型逼近这个上限。
- 缺失值处理 一般来说,未经处理的原始数据中通常会存在缺失值,因此在建模训练之前需要处理好缺失值。
- 缺失数据占比小于 20%。可以通过直接填充法,连续特征一般取均值填充,离散特征可以取众数填充;可以模型预测法,通过随机森林或者决策树进行预测结果填充;也可以通过插值法填充。
- 缺失数据占比大于 20% 小于 50%,这个时候可以把缺失值构建为新的特征,增加一列离散特征,即有缺失数据和无缺失数据。
- 缺失数据占比大于 50%,因为信息量较少,模型可能会学到大量噪音建议直接删除该特征。 xgboost 模型自带缺失值处理功能,可以不进行缺失值处理。
- 异常值处理 异常值,即在数据集中存在不合理的值,又称离群点、极值等。可以通过统计分析、箱线图、聚类、3σ 原则、孤立森林等方法进行检查。一般的处理方法如下:
- 直接删除含有异常值的样本。
- 视为缺失值。利用缺失值处理的方法进行处理。
- 最近值修正。可以用相近的观测值修正该异常值。
- 不处理。可以直接在具有异常值的数据集上进行数据建模
(待补充)