• RF和SVM的特点


    支持向量机(SVM)已经介绍了,讲讲随机森林(random forest,RF)。

    想要了解随机森林,首先要知道决策树,即森林由一棵棵树组成。

    决策树

    决策树是一种有监督的机器学习算法,该方法可以用于解决分类和回归问题。

    决策树可以简单地理解为达到某一特定结果的一系列决策。思考逻辑上,就像一连串的if-else,如果满足xx特征,则归为xx类别,否则则归为yy类别。(可以参考周志华老师《机器学习》里挑西瓜的案例)

    这其中的关键,就是如何选取特征。一棵树能选取的特征往往有限,限制了模型的性能。因此就有了随机森林。

    随机森林

    随机森林是基于决策树的机器学习算法,该算法利用了多棵决策树的力量来进行决策。

    为什么要称其为“随机森林”呢?这是因为它是随机创造的决策树组成的森林。决策树中的每一个节点是特征的一个随机子集,用于计算输出。随机森林将单个决策树的输出整合起来生成最后的输出结果。

    简单来说:“随机森林算法用多棵(随机生成的)决策树来生成最后的输出结果。”

    对于一个测试数据,将它投入到随机森林中的不同决策树中,会得到不同的测试结果。若问题是一个分类问题,则可以通过求众数来得出测试数据的类别;若问题是一个回归问题,则可以通过求平均值得出测试数据的值。该过程即为经典的bagging思想。

    那么RF和SVM的特点就可以归纳为

    SVM

    1.解决小样本下机器学习问题(不像深度学习一样,依赖海量数据)

    2.可以解决高维问题,即大型特征空间(借助核函数);但当样本很多时,效率并不是很高

    3.SVM的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数

    4.无需依赖整个数据,无局部极小值问题;但SVM算法对大规模训练样本难以实施

    5.能够处理非线性特征的相互作用,对于核函数的高维映射可解释性不强,尤其是径向基函数RF

    1.简单,容易实现,计算开销小,并且它在很多现实任务中展现出来了强大的性能

    2.它能够处理很高维度(特征很多)的数据,并且不用做特征选择(可以随机选择各种特征)

    4.训练速度快,容易做成并行化方法

    \5. 在训练完后,它能够给出哪些feature比较重要

    在创建随机森林的时候,对generlization error使用的是无偏估计,模型泛化能力强

    6.对于不平衡的数据集来说,它可以平衡误差;如果有很大一部分的特征遗失,仍可以维持准确度。

    RF示例代码:

    from sklearn.datasets import make_blobs
    import matplotlib.pyplot as plt
    import numpy as np
    
    X, y = make_blobs(n_samples=300, centers=4, random_state=0, cluster_std=1.0)
    plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='rainbow')
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-04x7ATiP-1660293915677)(D:\code-library\08-typora文件\算法岗面试总结.assets\image-20220812160722616.png)]

  • 相关阅读:
    跨境电商面临“寒冬”考验,如何转型升级入局新赛道(Starday)
    KFC Crazy Thursday
    Vue3 Element-UI中使用ECharts(前端数据展示开发)
    Mysql 的安装
    webpack:css代码提取插件extract-text-webpack-plugin和mini-css-extract-plugin
    基于Gin框架的HTTP接口限速实践
    Verilog刷题[hdlbits] :Always case
    蓝桥杯 第 1 场算法双周赛 第三题 分组【算法赛】c++ 贪心+双指针
    Android PackageManager的妙用
    第4章 前馈神经网络
  • 原文地址:https://blog.csdn.net/qq_41694461/article/details/126307272