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()

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值