1. 决策树实现基本的分类
from sklearn import datasets
X, y = datasets.make_classification(n_samples=1000, n_features=3, n_redundant=0)
from sklearn.tree import DecisionTreeClassifier
dt = DecisionTreeClassifier()
dt.fit(X, y)
predictions = dt.predict(X)
(y - predictions).mean()
>>>0.0
max_depth 这是个重要的参数,决定了允许多少分支。
如果我们仅仅使用基本的决策树实现,可能拟合得不是很好。所以我们需要调参,以便获得更好的拟合。这非常简单,并且不用花费什么精力。
决策树经常会过拟合,所以,我们需要思考,如何避免过拟合,这是为了避免复杂性。修改max_depth,将熵用作分割标准criterion='entropy',设置min_samples_leaf=10等等
2. 随机森林--使用许多决策树
随机森林通过构造大量浅层树,之后让每颗树为分类投票,再选取投票结果。随机森林对于过拟合非常健壮,并且在大量场景中表现良好,所以使用它。
from sklearn import datasets
X, y = datasets.make_classification(1000)
from sklearn.ensemble impo