6.6 示例:hello world!随机森林

为了对比决策树与随机森林,我们使用同样的数据集合进行测试,导入需要的函数库:


>>> from sklearn.model_selection import cross_val_score
>>> from sklearn.datasets import make_blobs
>>> from sklearn.ensemble import RandomForestClassifier
>>> from sklearn.ensemble import ExtraTreesClassifier
>>> from sklearn.tree import DecisionTreeClassifier

随机生成测试样本集合:


>>> X, y = make_blobs(n_samples=10000, n_features=10, centers=100,
...     random_state=0)

使用决策树训练,获取训练结果:


>>> clf = DecisionTreeClassifier(max_depth=None, min_samples_split=2,
...     random_state=0)
>>> scores = cross_val_score(clf, X, y)
>>> scores.mean()
0.97...

使用随机森林训练,获取训练结果:


>>> clf = RandomForestClassifier(n_estimators=10, max_depth=None,
...     min_samples_split=2, random_state=0)
>>> scores = cross_val_score(clf, X, y)
>>> scores.mean()
0.999...

这是一个不太严谨的对比,不过确实可以说明一些问题,在平时遇到的实际情况下,随机森林的判决性能优于决策树。