用于数据挖掘的分类算法有哪些,各有何优劣 用于数据挖掘的分类算法有哪些?各有何优劣呢?
数据挖掘的核心是为数据建立模型的过程。所有的数据挖掘产品都有这个建模过程,不同的是它们构造模型的方式互不相同。进行数据挖掘时可采用许多不同的算法。决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测。常用的算法有CHAID、CART、ID3和C4.5。决策树方法很直观,这是它的最大优点,缺点是随着数据复杂性的提高,分支数增多,管理起来很困难。ANGOSS公司的KnowedgeSEEKER产品采用了混合算法的决策树。神经网络近来越来越受到人们的关注,因为它为解决大复杂度问题提供了一种相对来说比较有效的简单方法。神经网络常用于两类问题:分类和回归。它的最大优点是它能精确地对复杂问题进行预测。神经网络的缺点是网络模型是个黑盒子,预测值难于理解;神经网络有过拟合的现象。IBM、SAS、SPSS、HNC、ANGOSS等公司是这个产品的供应者。遗传算法是一种基于进化过程的组合优化方法。它的基本思想是随着时间的更替,只有最适合的物种才得以进化。遗传算法能够解决其它技术难以解决的问题,然而,它也是一种最难于理解和最开放的方法。遗传算法通常与神经网络结合使用。采用上述技术的某些专门的分析工具已经发展了大约十年的历史,不过这些工具所面对的数据量通常较小。而现在这些技术已经被直接集成到许多大型的工业标准的数据仓库和联机分析系统中去了。
用数据挖掘的分类算法比如有代入法,换算法等,我个人还是建议你选择代入法,这样方便简单,出来结果也很快,准确。
1、朴素贝叶斯(Naive Bayes, NB)
简单,就像做一些数数的工作。
如果条件独立假设成立的话,NB将比鉴别模型(如Logistic回归)收敛的更快,所以你只需要少量的训练数据。
如果你想做类似半监督学习,或者是既要模型简单又要性能好,NB值得尝试.
2. Logistic回归(Logistic Regression, LR)
LR有很多方法来对模型正则化。比起NB的条件独立性假设,LR不需要考虑样本是否是相关的。
如果你想要一些概率信息(如,为了更容易的调整分类阈值,得到分类的不确定性,得到置信区间),或者希望将来有更多数据时能方便的更新改进模型,LR是值得使用的.
3.决策树(Decision Tree, DT)
DT是非参数的,所以你不需要担心野点(或离群点)和数据是否线性可分的问题(例如,DT可以轻松的处理这种情况:属于A类的样本的特征x取值往往非常小或者非常大,而属于B类的样本的特征x取值在中间范围)。
DT的主要缺点是容易过拟合,这也正是随机森林(Random Forest, RF)(或者Boosted树)等集成学习算法被提出来的原因。
此外,RF在很多分类问题中经常表现得最好,且速度快可扩展,也不像SVM那样需要调整大量的参数,所以最近RF是一个非常流行的算法.
4.支持向量机(Support Vector Machine, SVM)
很高的分类正确率,对过拟合有很好的理论保证,选取合适的核函数,面对特征线性不可分的问题也可以表现得很好。
SVM在维数通常很高的文本分类中非常的流行。由于较大的内存需求和繁琐的调参,我认为RF已经开始威胁其地位了.
朴素贝叶斯(Naive Bayes, NB)
超级简单,就像做一些数数的工作。如果条件独立假设成立的话,NB将比鉴别模型(如Logistic回归)收敛的更快,所以你只需要少量的训练数据。即使条件独立假设不成立,NB在实际中仍然表现出惊人的好。如果你想做类似半监督学习,或者是既要模型简单又要性能好,NB值得尝试。
Logistic回归(Logistic Regression, LR)
LR有很多方法来对模型正则化。比起NB的条件独立性假设,LR不需要考虑样本是否是相关的。与决策树与支持向量机(SVM)不同,NB有很好的概率解释,且很容易利用新的训练数据来更新模型(使用在线梯度下降法)。如果你想要一些概率信息(如,为了更容易的调整分类阈值,得到分类的不确定性,得到置信区间),或者希望将来有更多数据时能方便的更新改进模型,LR是值得使用的。
决策树(Decision Tree, DT)
DT容易理解与解释(对某些人而言——不确定我是否也在他们其中)。DT是非参数的,所以你不需要担心野点(或离群点)和数据是否线性可分的问题(例如,DT可以轻松的处理这种情况:属于A类的样本的特征x取值往往非常小或者非常大,而属于B类的样本的特征x取值在中间范围)。DT的主要缺点是容易过拟合,这也正是随机森林(Random Forest, RF)(或者Boosted树)等集成学习算法被提出来的原因。此外,RF在很多分类问题中经常表现得最好(我个人相信一般比SVM稍好),且速度快可扩展,也不像SVM那样需要调整大量的参数,所以最近RF是一个非常流行的算法。
支持向量机(Support Vector Machine, SVM)
很高的分类正确率,对过拟合有很好的理论保证,选取合适的核函数,面对特征线性不可分的问题也可以表现得很好。SVM在维数通常很高的文本分类中非常的流行。由于较大的内存需求和繁琐的调参,我认为RF已经开始威胁其地位了。
回到LR与DT的问题(我更倾向是LR与RF的问题),做个简单的总结:两种方法都很快且可扩展。在正确率方面,RF比LR更优。但是LR可以在线更新且提供有用的概率信息。鉴于你在Square(不确定推断科学家是什么,应该不是有趣的化身),可能从事欺诈检测:如果你想快速的调整阈值来改变假阳性率与假阴性率,分类结果中包含概率信息将很有帮助。无论你选择什么算法,如果你的各类样本数量是不均衡的(在欺诈检测中经常发生),你需要重新采样各类数据或者调整你的误差度量方法来使各类更均衡。