极限森林、梯度提升树

极限森林是基于多棵决策树的集成算法,与随机森林相比,极限森林在样本分裂时不一定要选择最佳阈值,提高了灵活性。在鸢尾花数据集上,决策树可能优于随机森林和极限森林,强调特征工程的重要性。梯度提升树通过迭代减小残差,提高预测准确性。学习率和均方误差是关键参数。
摘要由CSDN通过智能技术生成

极限森林

与随机森林一样,极限森林也是基于多棵决策树的集成算法,与随机森林的区别在于:随机森林在选取样本时采用样本随机的方式,并使用最好的裂分条件(无论是'gini'还是'entropy',都选用最佳的分裂进行分类);极限森林也是采用随机样本,但其分裂条件也是随机的,并不一定每次都选用最佳的裂分条件,官网上的解释是这样的

像在随机森林中一样,使用候选特征的随机子集,但不是寻找最有区别的阈值,而是为每个候选特征随机绘制阈值,并选择这些随机生成的阈值中的最佳阈值作为划分规则

也就是说,较小的阈值也是有被选择的机会的,相比随机森林,极限森林的灵活度更高,能适应的范围更大(作者本人观点,如有不同见解,欢迎讨论)这就使得在某些情况下极限森林的分类准确度比随机森林的更高

极限森林API

class sklearn.ensemble.ExtraTreesClassifier

极限森林与决策树、随机森林的运行效果比较

from sklearn.ensemble import ExtraTreesClassifier,RandomForestClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import cross_val_score
from sklearn import datasets
import numpy as np
import matplotlib.pyplot as plt

X, y = datasets.load_wine(True)
clf = DecisionTreeClassifier()
cross_val_score(clf,X,y,cv = 6,scoring='accuracy').mean()
0.871072796934866
forest = RandomForestClassifier(n_estimators=100)
cross_val_score(forest,X,y,cv = 6,scoring='accuracy').mean()
0.9777777777777779
extra = ExtraTreesClassifier(n_estimators=100)
cross_val_score(extra,X,y,cv = 6,scoring='accuracy').mean()
0.9833333333333334

使用鸢尾花的数据集再次进行尝试

X, y = datasets.load_iris(True)
clf = Decisio
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值