赞
踩
随机森林就是由多个决策树组成的集成学习方法,每个决策树都进行独立训练,训练数据都是从原始数据中进行有放回的(Out-of-Bag)随机抽样而来,这样可以使得每个决策树的训练数据不完全相同,从而增加了模型的多样性。
代码示例:
- import numpy as np
- import matplotlib.pyplot as plt
- from sklearn import datasets
-
- X, y = datasets.make_moons(n_samples=500, noise=0.3, random_state=42)
-
- from sklearn.ensemble import RandomForestClassifier
-
- rf_clf = RandomForestClassifier(n_estimators=500,oob_score=True, random_state=666, n_jobs=-1) #n_estimators决策树数量,
- #oob_score=True表示用放回取样的方式随机抽样, n_jobs=-1并行训练
-
- rf_clf.fit(X, y)
-
- rf_clf.oob_score_
极端随机森林。极端随机森林在构建每个决策树的过程中,对于每个分裂节点的特征和分割点的选择都是随机的,而不是像传统随机森林一样选择最优的特征和分割点。它提供了额外的随机性,提高了训练速度,并且抑制过拟合,但一定程度上增大了偏差(bias)。
代码示例:
- from sklearn.ensemble import ExtraTreesClassifier
-
- et_clf = ExtraTreesClassifier(n_estimators=500, bootstrap=True, oob_score=True, random_state=666, n_jobs=-1)
- #默认下bootstrap=False,但由于我们选择放回取样,所以将其改成True
-
- et_clf.fit(X, y)
- rf_clf.oob_score_
- from sklearn.ensemble import BaggingRegressor
- from sklearn.ensemble import RandomForestRegressor
- from sklearn.ensemble import ExtraTreesRegressor
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。