集成學(xué)習(xí)(ensemble)
由多種算法給出判斷結(jié)果并投票,以一定的原則綜合這些投票并進(jìn)行決策.
e.g. 病情確診
sk-learn中提供了Voting Classifier接口
# hard voting classifier,少數(shù)服從多數(shù)
voting_clf = VotingClassifier(estimators=[
('log_clf',LogisticRegression()),
('svc_clf',SVC()),
('dt_clf',DecisionTreeClassifier())
])
voting_clf.fit(X_train,y_train)
voting_clf.score(X_test,y_test)
#soft voting classifier,每個分類在所有投票中給出的概率相加,取概率最大的分類
voting_clf = VotingClassifier(estimators=[
('log_clf',LogisticRegression()),
('svc_clf',SVC(probability=True)),
('dt_clf',DecisionTreeClassifier())
],voting='soft')
voting_clf.fit(X_train,y_train)
voting_clf.score(X_test,y_test)
局限:雖然有很多的機(jī)器學(xué)習(xí)方法,但是從投票的角度看,仍然不夠多
解決方案:創(chuàng)建更多的不一致的子模型,集成更多的子模型額的意見
子模型準(zhǔn)確率-子模型數(shù)量和集成學(xué)習(xí)準(zhǔn)確率的關(guān)系如下

20190612121003.jpg
取樣方式分為bagging(放回取樣,在統(tǒng)計學(xué)中稱bootstrap)和pasting(不放回取樣)
隨機(jī)森林
對樣本數(shù)據(jù)隨機(jī)取部分特征和部分樣本訓(xùn)練決策樹模型,最后對所有決策樹模型進(jìn)行集成學(xué)習(xí)的算法