决策树和随机森林
随机森林是一种无参数的集成算法,通过集成多个比较简单的评估器形成累积效果。这种集成方法的学习效果经常出人意料,往往能超过各个组成部分的总和:也就是说,若干个评估器的多数投票的最终效果往往优于单个评估器投票的结果。
决策树
随机森林的基础是决策树。决策树采用非常直观的方式对事物进行分类和打标签:你只需要问一系列问题就可以进行分类。二叉树分支方法可以非常有效的进行分类:在一棵结构合理的决策树中,每个问题基本上都可将种类的可能性减半:即使是对大量种类进行决策时,也可以很快的缩小选择范围。决策树的难点在于如何设计每一步的问题,在实现决策树的机器学习算法中,问题通常因分类边界与特征轴平行的形式分割数据而造成的:也就是说,决策树的每个节点都根据一个特征的阀值将数据分为两组。
因为决策树的原理很简单,所以它的训练和预测速度都非常快。另外,多任务可以直接并行计算,因为每棵树都是完全独立的。
#生成实验数据
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns;sns.set()
from sklearn.datasets import make_blobs
x, y = make_blobs(n_samples=300, centers=4, random_state=0, cluster_std=1.0)
plt.scatter(x[:,0], x[:,1], c=y, s=50, cmap=&