分类模型到底如何选择

比较决策树和回归

  • 表面上看:

    决策树可以对付缺失值,而逻辑回归需要挖掘人员预先对缺失数据进行处理。但实际上决策树同样要对缺失值做出某种假设和处理。例如CART在遇到一个变量中有缺失情况时,是用次级变量进行替换切分。这种做法在逻辑回归中也可以办到,但需要单独的编程。而在决策树中,这一步已经嵌入软件的算法引擎。

  • 实质上看:

    1.逻辑回归对数据整体结构的分析优于决策树,而决策树对局部结构的分析优于逻辑回归。
    2.逻辑回归擅长辨识线性关系,而决策树对线性关系的把握较差。线性联系在实践中有很多优点:简洁,易理解,可以在一定程度上防止对数据的过度拟合。决策树的强项是非线性关联,但是很多非线性关系完全可以用直线模拟,而且效果很好。
    3.逻辑回归对极值比较敏感,容易受极端值的影响,而决策树对极值有很好的抗干扰性

  • 两者的差别主要来自算法逻辑

    决策树由于采用分割的方法,所以能够深入数据细部,但同时就失去了对全局的把握。一个分层一旦形成,它和别的层面或节点的关系就被切断了,以后的挖掘只能在局部中进行。同时由于切分,样本数量不断萎缩,所以无法支持对多变量的同时检验。而逻辑回归,始终着眼整个数据的拟合,所以对全局把握较好。但无法兼顾局部数据,或者说缺乏探查局部结构的内在机制。

  • 应用上的区别

    逻辑回归原则上可以提供数据中每个观察点的概率,而决策树只能把挖掘对象分为有限的组群。比如决策树确定17个节点,全部人口就只能有17个概率,在应用上受到一定限制。就操作来说,决策树比较容易上手,需要的数据预处理较少,而逻辑回归则要求一定的训练和技巧,决策树的结果和逻辑回归相比略显粗糙

  • 两者间互补或增强

    • 从决策树分析中找出数据局部结构,作为在逻辑回归中构建依变量(interaction)的依据。
    • 在需要对预测因子进行离散化处理时,利用决策树分析决定最佳切分点。
    • 把决策树分类的最终结果作为预测变量,和其他协变量一起代入回归模型,又称为“嫁接式模型”。从理论上讲,嫁接模型综合了决策树和逻辑回归的优点。最终节点包含了数据中重要的局部结构,而协变量可以拾补被决策树遗漏的数据整体结构。

用随机森林模型替代常用的回归和分类模型

  • 随机森林的原理

随机森林可以解释若干自变量(X1、X2、…、Xk)对因变量Y的作用。如果因变量Y有n个观测值,有k个自变量与之相关;在构建分类树的时候,随机森林会随机地在原数据中重新选择n个观测值,其中有的观测值被选择多次,有的没有被选到,这是Bootstrap重新抽样的方法。同时,随机森林随机地从k个自变量选择部分变量进行分类树节点的确定。这样,每次构建的分类树都可能不一样。一般情况下,随机森林随机地生成几百个至几千个分类树,然后选择重复程度最高的树作为最终结果。

  • 对有无数据的分析

对于有或无、生或死、发生或不发生等二分变量的分析,一般用逻辑斯蒂回归(logisticregression)的方法。逻辑斯蒂回归实质上是对因变量Y作两个分类水平的判别。逻辑斯蒂回归对自变量的多元共线性非常敏感,要求自变量之间相互独立。随机森林则完全不需要这个前提条件。Breiman在2001年发表了具有革命意义的文章,批判了当前主流的统计学方法,指出经典模型如逻辑斯蒂回归经常给出不可靠的结论,而随机森林准确而可靠。

  • 随机森林的优点

它的学习过程很快。在处理很大的数据时,它依旧非常高效。随机森林可以处理大量的多达几千个的自变量。现有的随机森林算法评估所有变量的重要性,而不需要顾虑一般回归问题面临的多元共线性的问题。它包含估计缺失值的算法,如果有一部分的资料遗失,仍可以维持一定的准确度。随机森林中分类树的算法自然地包括了变量的交互作用(interaction),即X1的变化导致X2对Y的作用发生改变。交互作用在其他模型中(如逻辑斯蒂回归)因其复杂性经常被忽略。随机森林对离群值不敏感,在随机干扰较多的情况下表现稳健。随机森林不易产生对数据的过度拟合,然而这点尚有争议。

  • 随机森林的缺点

它的算法倾向于观测值较多的类别(如果昆虫B的记录较多,而且昆虫A、B和C间的差距不大,预测值会倾向于B)。另外,随机森林中水平较多的分类属性的自变量(如土地利用类型 > 20个类别)比水平较少的分类属性的自变量(气候区类型<10个类别)对模型的影响大。

用于数据挖掘的分类算法有哪些,各有何优劣?

  • 训练集有多大?
    • 训练集很小,高偏差/低方差的分类器(如朴素贝叶斯)比低偏差/高方差的分类器(如K近邻或Logistic回归)更有优势,因为后者容易过拟合。
    • 训练集增大,高偏差的分类器并不能训练出非常准确的模型,所以低偏差/高方差的分类器会胜出(它们有更小的渐近误差)。
  • 某些分类器的优势

    • 朴素贝叶斯(Naive Bayes, NB)

    如果条件独立假设成立的话,NB将比鉴别模型(如Logistic回归)收敛的更快,所以你只需要少量的训练数据。即使条件独立假设不成立,NB在实际中仍然表现出惊人的好。如果你想做类似半监督学习,或者是既要模型简单又要性能好,NB值得尝试。

    • Logistic回归(Logistic Regression, LR)

    LR有很多方法来对模型正则化。比起NB的条件独立性假设,LR不需要考虑样本是否是相关的。与决策树与支持向量机(SVM)不同,NB有很好的概率解释,且很容易利用新的训练数据来更新模型(使用在线梯度下降法)。如果你想要一些概率信息(如,为了更容易的调整分类阈值,得到分类的不确定性,得到置信区间),或者希望将来有更多数据时能方便的更新改进模型,LR是值得使用的。

    • 决策树(Decision Tree, 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,可能从事欺诈检测:如果你想快速的调整阈值来改变假阳性率与假阴性率,分类结果中包含概率信息将很有帮助。无论你选择什么算法,如果你的各类样本数量是不均衡的,你需要重新采样各类数据或者调整你的误差度量方法来使各类更均衡。

  • 但是

更好的数据往往比更好的算法更重要,提取好的特征也需要很大的功夫。如果你的数据集非常大,那么分类算法的选择可能对最后的分类性能影响并不大(所以可以根据运行速度或者易用性来选择)。

如果你很在意分类的正确率,那么你得尝试多种分类器,根据交叉验证的结果来挑选性能最好的。

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值