学习记录628@python机器学习之集成学习方法

概述

在实际使用及其学习模型时,更值得我们关注的往往是如何提高预测结果的准确率。选择不同的模型,调节模型的各种参数,是最容易想到的方法,但当前业界采用更多的方法是集成学习方法。
集成学习不是一种独立的机器学习算法,而是把彼此没有关联的机器学习“集成”起来,以取得更好的效果。

训练如何集成

将机器学习算法用集成学习的方法组织起来,主要有两种组织结构,一种是并联,另一种是串联。
所谓并联,就是训练过程是并行的。几个学习器相对独立地完成预测工作,互相之间既不知道也不打扰彼此,相当于大家拿到试卷后分别答题,期间互相不参考、不讨论,只是最后以某种方法把答案合成一份。Bagging算法全称为Bootstrap Aggregation,这是一种并行集成学习方法。
学习记录628@python机器学习之集成学习方法_第1张图片
所谓串联,就是训练过程是串行的。几个学习器串在一起合作完成预测,第一个学习器拿到数据集后完成预测,然后把预测结果以及相关数据传递给第二个学习器,第二个学习器也是在完成预测后把结果和相关数据传递下去。Boosting算法是一种串行集成学习方法
在这里插入图片描述

预测如何集成

对于预测结果采用平均法和投票法,所谓投票法就是少数服从多数。

以上说了这么多,算法具体是什么呢?如果说到大名鼎鼎的随机森林,想必就会恍然大悟了,这就是将决策树算法继承的算法。

代码实战

from sklearn.datasets import load_iris
from sklearn import model_selection
# 从Scikit-Learn库导入集成学习模型的随机森林分类算法
from sklearn.ensemble import RandomForestClassifier
#载入鸢尾花数据集
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y,
                                                                    test_size=0.25, random_state=1234)
clf=RandomForestClassifier().fit(X_train, y_train)
gnb_pred = clf.predict(X_test)
print("预测值{}".format(gnb_pred))
print("原值{}".format(y_test))
print("得分:{}".format(clf.score(X_test,y_test)))

# 看下随机森林对于决策树的集成使用详情
print(clf.estimators_)

学习记录628@python机器学习之集成学习方法_第2张图片
运用了两次决策树算法
学习记录628@python机器学习之集成学习方法_第3张图片

你可能感兴趣的:(机器学习,python)