前言
数据科学的意义
- 从大型数据集中发现隐藏的趋势
- 充分利用发现的趋势做预测
- 计算每种结果出现的概率
- 快速获取准确结果
数据科学研究步骤
- 处理数据
- 选择算法
- 算法调优
- 创建模型 比较 确定
基础知识
准备数据
数据格式
略
数据类型
- 二值变量:这是最简单的变量类型,它只有两种可能的值。在表1-1中,“是否买鱼”就是二值变量。
- 分类变量:当某信息可以取Z两个以上的值时,便可以使用分类变量来表示它。在表1-1中,“顾客类别”就是分类变量。
- 整型变量:这种变量用来描述可以使用整数表示的信息。在表1-1中,“水果购买量”就是整型变量,它表示每位顾客所购水果的数量。
- 连续变量:这是最精细的变量,用来表示小数。在表1-1中,“支出”就是连续变量,它表示每位顾客花费的金额。
变量选择
原始数据集可能包含许多变量。往一个算法中放入过多变量,可能导致计算速度变慢,或者因干扰过多而产生错误的预测结果。因此,需要从众多变量中筛选出那些与研究目标密切相关的变量,这个过程就是变量选择。
一开始,可以通过简单的图来研究变量间的相关性。
特征工程
有时候,需要做一些处理才能获得最佳变量。
除了对单个变量进行重新编码之外,还可以合并多个变量,这个技巧叫作降维,第3章将进行讲解。降维可以提取最有用的信息,从而获得更精简的变量集,以供进一步分析。
缺失数据
-
近似:如果缺失值所属的类型为二值变量或分类变量,那么可以使用该变量的众数(即出现次数最多的那个值)来替换它。
若缺失值属于整型变量或连续变量,则可以使用中位数来替换它。
-
计算:对于缺失值,还可以使用更高级的监督学习算法将它计算出来。虽然计算更耗时,但是所得到的数值更准确,这是因为算法基于类似交易来估算缺失值,这一点与近似方法(考虑每一笔交易)有所不同。
-
移除:万不得已时,可以把包含缺失值的整行数据移除。但是,尽量不要这样做,因为这会减少分析时可用的数据量。而且,移除数据点可能会导致数据样本倾向或偏离特定的群体。
选择算法
无监督学习 | k均值聚类 |
---|---|
主成分分析 | |
关联规则 | |
社会网络分析 | |
监督学习 | 回归分析 |
k最近邻 | |
支持向量机 | |
决策树 | |
随机森林 | |
神经网络 | |
强化学习 | 多臂老虎机 |
无监督学习
任务目标:指出数据中隐藏的模式。
找出那些商品是顾客经常搭配购买的/对顾客分类/…
监督学习
任务目标:使用数据中的模式做预测。
之所以称之为监督学习算法,是因为它们的预测都基于已有的模式。
“水果购买量” 属于整型数值/连续数值的预测过程 --> 解决回归问题
“是否会下雨” 属于二元值或分类值预测过程 --> 解决分类问题
强化学习
任务目标:使用数据中的模式做预测,并根据越来越多的反馈结果不断改进。
无监督学习模型和监督学习模型在部署之后便无法更改。不同于此,强化学习模型自身可以通过反馈结果不断改进。
假设要比较两个在线广告的效果。首先,让这两个广告的投放频率一样,然后确定每个广告的点击人数。接着,利用强化学习模型把点击人数作为衡量广告受欢迎程度的指标,并根据这个指标提高受欢迎广告的投放频率。通过这样的迭代过程,模型不断得到改进,最终会让广告投放取得更好的效果。
参数调优
a. 算法过度敏感,它把数据中的随机波动错误地当成持久模式
这就是过拟合问题。
过拟合模型对当前数据有着很高的预测准确度,但是对未知数据的预测准确度较差,也就是说,过拟合模型的泛化能力不强。比如说过拟合模型在面对当前数据时表现良好,但是在面对新数据时可能表现得很糟糕。
c. 算法过于愚钝,忽略了数据中的基本模式,这就是欠拟合。
欠拟合模型很可能会忽视数据中的重要趋势,这会导致模型对当前数据和未知数据的预测准确度下降。
处理过拟合 --> 控制模型整体复杂度 --> 通过正则化引入惩罚参数
评价模型
三种常用的评价指标:预测准确率、混淆矩阵和均方根误差。
分类指标
关于预测准确率,最简单的定义就是正确的预测所占的比例。
混淆矩阵可以让我们进一步了解预测模型的优缺点。
回归指标
由于回归预测使用连续值,因此误差一般被量化成预测值和实际值之差,惩罚随误差大小而不同。均方根误差是一个常用的回归指标,尤其可用于避免较大的误差:因为每个误差都取了平方,所以大误差就被放大了。这使得均方根误差对异常值极其敏感,对这些值的惩罚力度也更大。
验证
指标并不能完整地体现模型的性能。验证是指评估模型对新数据的预测准确度。
进行验证时,可以通过划分训练集和测试集的方式进行评估。
但如果原始数据集很小,划分集的方式无法保障准确度,可以使用交叉验证:使用同一个数据集进行训练和测试。
交叉验证最大限度地利用了可用的数据,它把数据集划分成若干组,用来对模型进行反复测试。
由于每次迭代用来做预测的数据各不相同,因此每次得到的预测结果都不同。综合考虑这些差异,就可以对模型的实际预测能力做出更为可靠的评估。
对所有评估结果取平均值,即为预测准确度的最终评估值。如果交叉验证结果表明模型的预测准确度较低,可以重新调整模型的参数或者重新处理数据。
次得到的预测结果都不同。综合考虑这些差异,就可以对模型的实际预测能力做出更为可靠的评估。
对所有评估结果取平均值,即为预测准确度的最终评估值。如果交叉验证结果表明模型的预测准确度较低,可以重新调整模型的参数或者重新处理数据。