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

1、随机森林

随机森林就是由多个决策树组成的集成学习方法,每个决策树都进行独立训练,训练数据都是从原始数据中进行有放回的(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_

2、Extra-Trees

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

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

from sklearn.ensemble import BaggingRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.ensemble import ExtraTreesRegressor

你可能感兴趣的:(python,随机森林,集成学习)