0
2

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

Last updated at Posted at 2023-10-08

前回の続きです。

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

勾配ブースティング

GradientBoostingClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html

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

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

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

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

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

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

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

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でした。

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

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2