为了对比决策树与随机森林,我们使用同样的数据集合进行测试,导入需要的函数库:
>>> 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...
这是一个不太严谨的对比,不过确实可以说明一些问题,在平时遇到的实际情况下,随机森林的判决性能优于决策树。