大数据挖掘3|分类方法
数据挖掘或者机器学习中很大一部分是解决分类问题。
分类可以定义为:
- 对现有数据进行学习,得到一个目标函数或规则,把每个属性集x映射到一个预先定义的类标号y (即最终分为的几个类别)
目标函数或规则也称为分类模型(Classification Model),一个模型必须同时具有很好的拟合能力(很好拟合输入样本数据中类标号和属性间关系)和泛化能力(正确预测位置样本的标号)。
一、常用的分类方法介绍
- (1) 朴素贝叶斯(Bayes)
- (2) 决策树(Decision Tree)
- (3) 支持向量机(Suport Vector Machine)
- (4) K近邻 (KNN)
- (5) 逻辑回归(Logistic Regression)
- (6) 神经网络
1.朴素贝叶斯
- 基础思想:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此分类项属于哪个类别。
-
优点:
可以和决策树、神经网络分类算法相媲美,能运用于大型数据库中。
方法简单,分类准确率高,速度快,所需估计的参数少,对于缺失数据不敏感。
缺点:
假设一个属性对定类的影响独立于其他的属性值,这往往并不成立。(喜欢吃番茄、鸡蛋,却不喜欢吃番茄炒蛋)。
需要知道先验概率。
2.决策树
- 基础思想:决策树是一种简单但广泛使用的分类器,它通过训练数据构建决策树,对未知的数据进行分类。决策树的每个内部节点表示在一个属性上的测试,每个分枝代表该测试的一个输出,而每个叶结点存放着一个类标号。
在决策树算法中,ID3基于信息增益作为属性选择的度量,C4.5基于信息增益比作为属性选择的度量,CART基于基尼指数作为属性选择的度量。
- **优点 **:
不需要任何领域知识或参数假设。
适合高维数据。
简单易于理解。
短时间内处理大量数据,得到可行且效果较好的结果。
缺点:
对于各类别样本数量不一致数据,信息增益偏向于那些具有更多数值的特征。
易于过拟合。
忽略属性之间的相关性。
3.支持向量机
-
基础思想:支持向量机把分类问题转化为寻找分类平面的问题,并通过最大化分类边界点距离分类平面的距离来实现分类。
-
优点 :
可以解决小样本下机器学习的问题。
提高泛化性能。
可以解决文本分类、文字识别、图像分类等方面仍受欢迎。
避免神经网络结构选择和局部极小的问题。
**缺点 **:
缺失数据敏感。
内存消耗大,难以解释。
4.K近邻
- 基础思想:通过计算每个训练样例到待分类样品的距离,取和待分类样品距离最近的K个训练样例,K个样品中哪个类别的训练样例占多数,则待分类样品就属于哪个类别。
- **优点 **:
适用于样本容量比较大的分类问题
缺点:
计算量太大
对于样本量较小的分类问题,会产生误分。
5.逻辑回归(LR)
- 基础思想:回归模型中,y是一个定型变量,比如y=0或1,logistic方法主要应用于研究某些事件发生的概率。
-
优点 :
速度快,适合二分类问题。
简单易于理解,直接看到各个特征的权重。
能容易地更新模型吸收新的数据。
缺点:
对数据和场景的适应能力有局限,不如决策树算法适应性那么强
6.神经网络
-
基础思想:神经网络是对非线性可分数据的分类方法。与输入直接相连的称为隐藏层( hidden layer),与输出直接相连的称为输出层(output layer)。
神经网络算法的一大特点就在于不知道隐藏层计算的东西的意义;另一个特点在于神经网络有比较多的局部最优值,可以通过多次随机设定初始值然后运行梯度下降算法获得最优值。 - **优点 **:
分类准确率高。
并行处理能力强。
分布式存储和学习能力强。
鲁棒性较强,不易受噪声影响。
**缺点 **:
需要大量参数(网络拓扑、阀值、阈值)。
结果难以解释。
训练时间过长。
二、各分类方法使用场合
-
如果训练集很小,建议采用朴素贝叶斯(Naive Bayes)
-
但是随着训练集的增大,可以采用其他的逻辑回归,K近邻
-
决策树(DT)容易理解与解释,主要缺点是容易过拟合,这也正是随机森林(Random Forest, RF)(或者Boosted树)等集成学习算法被提出来的原因。
-
随机森林(RF)在很多分类问题中经常表现得最好(一般比SVM稍好),且速度快可扩展,也不像SVM那样需要调整大量的参数,所以最近RF是一个非常流行的算法。
三、各分类方法效果评价指标
更好的数据往往比更好的算法更重要,提取好的特征也需要很大的功夫。如果你的数据集非常大,那么分类算法的选择可能对最后的分类性能影响并不大(所以可以根据运行速度或者易用性来选择)。
- ** 真正类(True Positive,TP)**:指模型预测为正(1)的,并且实际上也的确是正(1)的观察对象的数量。
- 真负类(True Negative,TN):指模型预测为负(0)的,并且实际上也的确是负(0)的观察对象的数量。
- 假正类(False Positive,FP):指模型预测为正(1)的,并且实际上是负(0)的观察对象的数量。
- 假负类(False Negative,FN):指模型预测为负(0)的,并且实际上是正(1)的观察对象的数量。
查准率(precision rate)也即精度 和查全率(recall rate)也即真正率
precision rate = TP / (TP + FP)
recall rate = TP / (TP + FN)
一般比较关心的也是这两个指标。
(更多详细的分类方法原理可见
http://blog.csdn.net/china1000/article/details/48597469)