随机森林训练_v2

# 随机森林训练_v2

定义

M.random_forest_train.v2(self, training_ds, features, test_ds=None, n_estimators=10, max_features='auto', max_depth=30,min_samples_leaf=200, n_jobs=1, algo='classifier')

随机森林算法,可以用做分类和回归类的训练。本模块是对sklearn随机森林的封装,详细文档请参考: 随机森林分类算法 和 随机森林回归算法

参数:

  • training_ds (DataSource) – 训练数据。
  • features (列表|DataSource) – 因子/特征,支持基础特征和衍生特征。
  • test_ds (DataSource) – 训练时用的测试集,可以根据此数据集上的预测效果,来做模型参数和特征等的调整。为None,表示不使用测试集;默认值是None。
  • n_estimators (int) – 树的个数,个数越多,则模型越复杂,计算速度越慢;默认值是10。
  • max_features (str) – 最多考虑特征个数,新建节点时,最多考虑的特征个数。默认为auto,一般不需要更改;默认值是auto。
  • max_depth (int) – 数据的最大深度,限制每棵树的最大深度,数值大拟合能力强,数值小泛化能力强。设置为None则不限制;默认值是30。
  • min_samples_leaf (int) – 每个叶子节点最少样本数,数值大泛化能力强,数值小拟合能力强;默认值是200。
  • n_jobs (int) – 并行度,同时使用多少个进程进行计算,最多是4;默认值是1。
  • algo (choice) – 算法类型,classifier是分类算法,regressor是回归算法;可选值有: classifier, regressor;默认值是classifier。

返回:

  • .model: 训练出来的模型
  • .feature_gains: 估算的各特征对模型的贡献度 (不同于线性模型的权重),值越大,表示因子/特征的贡献度越高训练出来的模型

返回类型:

  • Outputs