当前位置:   article > 正文

【python入门机器学习】随机森林_随机森林代码

随机森林代码

1、随机森林

随机森林就是由多个决策树组成的集成学习方法,每个决策树都进行独立训练,训练数据都是从原始数据中进行有放回的(Out-of-Bag)随机抽样而来,这样可以使得每个决策树的训练数据不完全相同,从而增加了模型的多样性。

代码示例:

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. from sklearn import datasets
  4. X, y = datasets.make_moons(n_samples=500, noise=0.3, random_state=42)
  5. from sklearn.ensemble import RandomForestClassifier
  6. rf_clf = RandomForestClassifier(n_estimators=500,oob_score=True, random_state=666, n_jobs=-1) #n_estimators决策树数量,
  7. #oob_score=True表示用放回取样的方式随机抽样, n_jobs=-1并行训练
  8. rf_clf.fit(X, y)
  9. rf_clf.oob_score_

2、Extra-Trees

极端随机森林。极端随机森林在构建每个决策树的过程中,对于每个分裂节点的特征和分割点的选择都是随机的,而不是像传统随机森林一样选择最优的特征和分割点。它提供了额外的随机性,提高了训练速度,并且抑制过拟合,但一定程度上增大了偏差(bias)。

代码示例:

  1. from sklearn.ensemble import ExtraTreesClassifier
  2. et_clf = ExtraTreesClassifier(n_estimators=500, bootstrap=True, oob_score=True, random_state=666, n_jobs=-1)
  3. #默认下bootstrap=False,但由于我们选择放回取样,所以将其改成True
  4. et_clf.fit(X, y)
  5. rf_clf.oob_score_

3、集成学习解决回归问题

  1. from sklearn.ensemble import BaggingRegressor
  2. from sklearn.ensemble import RandomForestRegressor
  3. from sklearn.ensemble import ExtraTreesRegressor

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号