异常值
异常值就是偏离样本整体数据的值,分为单变量和多变量异常值。
多变量异常值即出现在n维空间上的异常值。多变量异常值是某几个观测值在单变量上看是正常的,但是放到多维变量上就可能是异常的。
例如:
100cm的身高和100kg的体重分别在身高和体重的维度上看,貌似没有什么问题。但是如果放在身高和体重的二维上看就发现这个(100cm,100kg)的观测值不正常了。
单变量异常值可以通过箱型图来观察,二维变量的异常值可以通过散点图来观察。
造成异常值的原因有:
- 数据输入错误
- 测量误差
- 实验误差
- 故意离群
- 数据处理错误
- 自然异常值
异常值会对数据造成哪些影响?
异常值增加了误差方差,降低了统计检验的效果,同时如果异常值是非随机分布的,它们可能会减弱样本的正态性。
如何去除异常值?
删除:如果异常值是由于数据输入错误、数据处理错误或异常值数目很少,我们可以删除它们
数据转换或聚类:例如对数据取对数可以减少极端值的变化。我们也可以用决策树直接处理带有异常值的数据(决策树基本不会受到异常值和缺失值的影响),或是对不同的观测值分配权重。
替换:可以使用均值、中位数、众数替换方法。在替换之前,要分析是人工造成的还是自然造成的。如果是前者,可以替换它。同时也可用统计模型预测异常值,然后替换
分离对待:如果异常值的数目比较多,在统计模型中我们应该对它们分别处理。一个处理方法是异常值一组,正常值一组,然后分别建立模型,最后对结果进行合并。
聚类
聚类之间类的度量是分距离和相似系数来度量的,距离用来度量样品之间的相似性(K-means聚类,系统聚类中的Q型聚类),相似系数用来度量变量之间的相似性(系统聚类中的R型聚类)。
最常用的是K-means聚类,适用于大样本,但需要事先指定分为K个类。
处理步骤:
1)、从n个数据对象中任意选出k个对象作为初始的聚类中心
2)、计算剩余的各个对象到聚类中心的距离,将它划分给最近的簇
3)、重新计算每一簇的平均值(中心对象)
4)、循环2-3直到每个聚类不再发生变化为止。
系统聚类适用于小样本
分类
有监督就是给的样本都有标签,分类的训练样本必须有标签,所以分类算法都是有监督算法。
监督机器学习问题无非就是“minimizeyour error while regularizing your parameters”,也就是在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据,提高泛化能力。
1.朴素贝叶斯
1)基础思想:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此分类项属于哪个类别。
2)优点:
可以和决策树、神经网络分类算法相媲美,能运用于大型数据库中。
方法简单,分类准确率高,速度快,所需估计的参数少,对于缺失数据不敏感。
3)缺点:
假设一个属性对定类的影响独立于其他的属性值,这往往并不成立。(喜欢吃番茄、鸡蛋,却不喜欢吃番茄炒蛋)。
需要知道先验概率。
2.决策树
1)基础思想:决策树是一种简单但广泛使用的分类器,它通过训练数据构建决策树,对未知的数据进行分类。决策树的每个内部节点表示在一个属性上的测试,每个分枝代表该测试的一个输出,而每个叶结点存放着一个类标号。
在决策树算法中,ID3基于信息增益作为属性选择的度量,C4.5基于信息增益比作为属性选择的度量,CART基于基尼指数作为属性选择的度量。
2)优点 :
不需要任何领域知识或参数假设。
适合高维数据。
简单易于理解。
短时间内处理大量数据,得到可行且效果较好的结果。
3)缺点:
对于各类别样本数量不一致数据,信息增益偏向于那些具有更多数值的特征。
易于过拟合。
忽略属性之间的相关性。
3.支持向量机
1)基础思想:支持向量机把分类问题转化为寻找分类平面的问题,并通过最大化分类边界点距离分类平面的距离来实现分类。
2)优点 :
可以解决小样本下机器学习的问题。
提高泛化性能。
可以解决文本分类、文字识别、图像分类等方面仍受欢迎。
避免神经网络结构选择和局部极小的问题。
3)缺点:
缺失数据敏感。
内存消耗大,难以解释。
4.K近邻
1)基础思想:通过计算每个训练样例到待分类样品的距离,取和待分类样品距离最近的K个训练样例,K个样品中哪个类别的训练样例占多数,则待分类样品就属于哪个类别。
2)优点 :
适用于样本容量比较大的分类问题
3)缺点:
计算量太大
对于样本量较小的分类问题,会产生误分。
5.逻辑回归(LR)
1)基础思想:回归模型中,y是一个定型变量,比如y=0或1,logistic方法主要应用于研究某些事件发生的概率。
2)优点 :
速度快,适合二分类问题。
简单易于理解,直接看到各个特征的权重。
能容易地更新模型吸收新的数据。
3)缺点:
对数据和场景的适应能力有局限,不如决策树算法适应性那么强