【冰糖Python】深度森林 DeepForest

本文详细介绍了深度森林DeepForest的原理、训练与预测过程,包括其自适应模型复杂性、级联层构建和预测器的使用。主要模型为CascadeForestClassifier,提供了丰富的参数选项以调整模型复杂性、速度和内存使用。调参建议包括增加模型复杂度、利用并行化、减少划分和降低模型复杂度。同时,文章也提及了如何使用自定义估计器和预测器来优化DeepForest。
摘要由CSDN通过智能技术生成

此文为记录DeepForest的简单使用

原文《Deep Forest: Towards an Alternative to Deep Neural Networks》

“A key advantage of deep forest is its adaptive model complexity depending on the dataset. The default setting on hyper-parameters enables it to perform reasonably well across all datasets. ”

深层森林的一个关键优势是其自适应模型的复杂性取决于数据集。超参数的默认设置使它能够在所有数据集上执行得相当好。

一、训练与预测

1、训练阶段从将训练样本的特征值离散化为n_bins唯一值开始,这是加速构建决策树的常用技术。然后,使用binned数据生成DF21中带有n_estimators估值器的第一个级联层(注意,默认情况下n_estuators将在内部乘以2)。此外,每个估计器由采用分裂准则的n_trees决策树组成,满足max_depth和min_samples_leaf施加的约束。

2、数据离散化并构建第一个级联层后,进入主训练循环:

1)使用新binner,将前一级联层的袋外预测结果离散化(由上图中的增强特征表示)

2)将增强特征连接到离散化后的训练样本,作为待构建级联层的新训练数据

3)使用串联的训练数据构建一个新层,遵循与构建第一个级联层相同的训练模式

4)获取层的袋外预测结果,并估计其泛化性能

5)如果估计性能优于所有以前构建的层,将继续构建新层。否则,会触发提前停止,如果n_tolerant_rounds回合的性能没有提高,将在达到max_layers之前终止训练阶段

3、作为可选步骤,如果use_predictor设置为True,将构建另一个预测器。该预测器接收来自最后一个级联层的串联训练数据的输入,并输出分类问题的预测类概率和回归问题的预测值。可以使用随机森林或GBDT等设置预测器。此外可以通过设置predictor_kwargs来更好地配置它。

4、评估阶段遵循训练的顺序结构。首先,使用第一个binner将测试样本离散化,并传递到第一层。然后,将增强特征设置为当前级联层的输出,并使用后续binner对其进行分类。在将增强特征连接到binned测试样本之后,移动到下一层,直到到达最后一个级联层或预测器。

二、主要模型

主要模型为CascadeForestClassifier

classdeepforest.CascadeForestClassifier(n_bins=255bin_subsample=200000bin_type='percentile'max_layers=20criterion='gini'n_estimators=2n_trees=100max_depth=Nonemin_samples_split=2min_samples_leaf=1use_predictor=Falsepredictor='forest'predictor_kwargs={}backend='custom'n_tolerant_rounds=2delta=1e-05partial_mode=Falsen_jobs=Nonerandom_state=Noneverbose=1)

参数说明:

n_bins (int, default=255) – The number of bins used for non-missing values. In addition to the n_bins bins, one more bin is reserved for missing values. Its value must be no smaller than 2 and no greater than 255. 用于非缺失值的存储箱数。除了n_bins bins之外,还为缺少的值保留了一个bin。其值必须不小于2且不大于255

bin_subsample (int, default=200,000) – The number of samples used to construct feature discrete bins. If the size of training set is smaller than bin_subsample, then all training samples will be used.用于构造特征离散箱的样本数。如果训练集的大小小于bin_subsample,则

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰糖不在家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值