Pythonのscikit-learnによる分類まとめ3

前回の続きです。

https://qiita.com/wanana12/items/023fe49374fd023a0b21

Pythonのscikit-learnによる分類をまとめました。
今回は、アンサンブル学習（勾配ブースティング、ランダムフォレスト、バギング、投票、スタッキング、アダブースト）を用いた分類を行います。

# 勾配ブースティング
GradientBoostingClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html
```Python
from sklearn.datasets import load_iris
from sklearn.ensemble import GradientBoostingClassifier # GradientBoostingClassifierのインポート
X, y = load_iris(return_X_y=True)
model = GradientBoostingClassifier().fit(X, y)
model.score(X, y)
```
スコアは1.0でした。

HistGradientBoostingClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.HistGradientBoostingClassifier.html
```Python
from sklearn.datasets import load_iris
from sklearn.ensemble import HistGradientBoostingClassifier # HistGradientBoostingClassifierのインポート
X, y = load_iris(return_X_y=True)
model = HistGradientBoostingClassifier().fit(X, y)
model.score(X, y)
```
スコアは1.0でした。

# ランダムフォレスト
RandomForestClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html
```Python
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier # RandomForestClassifierのインポート
X, y = load_iris(return_X_y=True)
model = RandomForestClassifier().fit(X, y)
model.score(X, y)
```
スコアは1.0でした。

ExtraTreesClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html
```Python
from sklearn.datasets import load_iris
from sklearn.ensemble import ExtraTreesClassifier # ExtraTreesClassifierのインポート
X, y = load_iris(return_X_y=True)
model = ExtraTreesClassifier().fit(X, y)
model.score(X, y)
```
スコアは1.0でした。

# バギング
BaggingClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.BaggingClassifier.html
```Python
from sklearn.datasets import load_iris
from sklearn.ensemble import BaggingClassifier # BaggingClassifierのインポート
X, y = load_iris(return_X_y=True)
model = BaggingClassifier().fit(X, y)
model.score(X, y)
```
スコアは0.9866666666666667でした。

# 投票
VotingClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.VotingClassifier.html
```Python
from sklearn.datasets import load_iris
from sklearn.ensemble import GradientBoostingClassifier # GradientBoostingClassifierのインポート
from sklearn.ensemble import RandomForestClassifier # RandomForestClassifierのインポート
from sklearn.ensemble import BaggingClassifier # BaggingClassifierのインポート
from sklearn.ensemble import VotingClassifier # VotingClassifierのインポート
X, y = load_iris(return_X_y=True)
gb = GradientBoostingClassifier()
rf = RandomForestClassifier()
bc = BaggingClassifier()
model = VotingClassifier(estimators=[('gb', gb), ('rf', rf), ('bc', bc)]).fit(X, y)
model.score(X, y)
```
スコアは1.0でした。

# スタッキング
StackingClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.StackingClassifier.html
```Python
from sklearn.datasets import load_iris
from sklearn.ensemble import GradientBoostingClassifier # GradientBoostingClassifierのインポート
from sklearn.ensemble import RandomForestClassifier # RandomForestClassifierのインポート
from sklearn.ensemble import BaggingClassifier # BaggingClassifierのインポート
from sklearn.ensemble import StackingClassifier # StackingClassifierのインポート
X, y = load_iris(return_X_y=True)
gb = GradientBoostingClassifier()
rf = RandomForestClassifier()
bc = BaggingClassifier()
model = StackingClassifier(estimators=[('gb', gb), ('rf', rf), ('bc', bc)]).fit(X, y)
model.score(X, y)
```
スコアは1.0でした。

# アダブースト
AdaBoostClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html
```Python
from sklearn.datasets import load_iris
from sklearn.ensemble import AdaBoostClassifier # AdaBoostClassifierのインポート
X, y = load_iris(return_X_y=True)
model = AdaBoostClassifier().fit(X, y)
model.score(X, y)
```
スコアは0.96でした。

これらの分類モデルについてさらに勉強し、適切に使い分けられるようになりたいです。

https://qiita.com/wawana12/items/31cafb7a89bd50e8bcd1