2.1 明确业务问题
明确业务问题是机器学习的先决条件,这里需要抽象出现实业务问题的解决方案:需要学习什么样的数据作为输入,目标是得到什么样的模型做决策作为输出。
(如:一个简单的新闻分类问题的场景,就是学习已有的新闻及其类别标签数据,得到一个文本分类模型,通过模型对每天新的新闻做类别预测,以归类到每个新闻频道。)
2.2 数据选择:收集及输入数据
数据决定了机器学习结果的上限,而算法只是尽可能逼近这个上限。
意味着数据的质量决定了模型的最终效果,在实际的工业应用中,算法通常占了很小的一部分,大部分工程师的工作都是在找数据、提炼数据、分析数据。数据选择需要关注的是:
① 数据的代表性:代表性差的数据,会导致模型拟合效果差;
② 数据时间范围:监督学习的特征变量X及标签Y如与时间先后有关,则需要明确数据时间窗口,否则可能会导致数据泄漏,即存在和利用因果颠倒的特征变量的现象。(如预测明天会不会下雨,但是训练数据引入明天温湿度情况);
③ 数据业务范围:明确与任务相关的数据表范围,避免缺失代表性数据或引入大量无关数据作为噪音;
2.3 特征工程:数据预处理及特征提取
特征工程就是将原始数据加工转化为模型可用的特征,按技术手段一般可分为:
① 数据预处理:缺失值/异常值处理,数据离散化,数据标准化等;
② 特征提取:特征表示,特征衍生,特征选择,特征降维等;
2.3.1 数据预处理
- 异常值处理
收集的数据由于人为或者自然因素可能引入了异常值(噪音),这会对模型学习进行干扰。
通常需要处理人为引起的异常值,通过业务/技术手段(如3σ准则)判定异常值,再由(python、正则式