关于bagging,这是一种集成学习的方法,它的老对手是boosting。他俩有个原始的祖宗是投票法(因为投票法最好想到也最好理解)。我经常把他俩弄混,主要是这两个英文单词总是让我浮想联翩。今天来捋一捋,表达了两种先进的集成学习思路,bagging一条是大家一起干活大佬随机翻牌翻到谁“叼”谁,boosting还有一条是大家流水线干活大佬在线旁边“叼”人。明显前者适合并行。
本次学习bagging的主要代码为以下,
import numpy as np
from sklearn import datasets
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import RepeatedStratifiedKFold
from sklearn.ensemble import BaggingClassifier
X, y = datasets.make_classification(n_samples=1000, n_features=20, n_informative=15, n_redundant=5, random_state=5)
model = BaggingClassifier()
cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
n_scores = cross_val_score(model, X, y, scoring='accuracy', cv=cv, n_jobs=-1, error_score='raise')
print('Accuracy: %.3f Std:(%.3f)' % (np.mean(n_scores), np.std(n_scores)))
保存为后缀py的文件,python解释器运行结果如下:
用前几堂课学到的matplot绘制方法,看下X和y到底长啥样。怎一个哇塞了得,传统的分类方法估计很难理清楚谁是谁了。