前回の続きです。
Pythonのscikit-learnによる分類をまとめました。
今回は、ガウス過程、単純ベイズ、決定木を用いた分類を行います。
ガウス過程
GaussianProcessClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.gaussian_process.GaussianProcessClassifier.html
from sklearn.datasets import load_iris
from sklearn.gaussian_process import GaussianProcessClassifier # GaussianProcessClassifierのインポート
X, y = load_iris(return_X_y=True)
model = GaussianProcessClassifier().fit(X, y)
model.score(X, y)
スコアは0.9733333333333334でした。
単純ベイズ
GaussianNB
https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.GaussianNB.html
from sklearn.datasets import load_iris
from sklearn.naive_bayes import GaussianNB # GaussianNBのインポート
X, y = load_iris(return_X_y=True)
model = GaussianNB().fit(X, y)
model.score(X, y)
スコアは0.96でした。
MultinomialNB
https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.MultinomialNB.html
from sklearn.datasets import load_iris
from sklearn.naive_bayes import MultinomialNB # MultinomialNBのインポート
X, y = load_iris(return_X_y=True)
model = MultinomialNB().fit(X, y)
model.score(X, y)
スコアは0.9533333333333334でした。
ComplementNB
https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.ComplementNB.html
from sklearn.datasets import load_iris
from sklearn.naive_bayes import ComplementNB # ComplementNBのインポート
X, y = load_iris(return_X_y=True)
model = ComplementNB().fit(X, y)
model.score(X, y)
スコアは0.6666666666666666でした。
irisデータセットの分類には適していない可能性があります。
BernoulliNB
https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.BernoulliNB.html
from sklearn.datasets import load_iris
from sklearn.naive_bayes import BernoulliNB # BernoulliNBのインポート
X, y = load_iris(return_X_y=True)
model = BernoulliNB().fit(X, y)
model.score(X, y)
スコアは0.3333333333333333でした。
ComplementNBと同様、irisデータセットの分類には適していない可能性があります。
CategoricalNB
https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.CategoricalNB.html
from sklearn.datasets import load_iris
from sklearn.naive_bayes import CategoricalNB # CategoricalNBのインポート
X, y = load_iris(return_X_y=True)
model = CategoricalNB().fit(X, y)
model.score(X, y)
スコアは0.9333333333333333でした。
決定木
DecisionTreeClassifier
https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier # DecisionTreeClassifierのインポート
X, y = load_iris(return_X_y=True)
model = DecisionTreeClassifier().fit(X, y)
model.score(X, y)
スコアは1.0でした。
ComplementNBとBernoulliNBでスコアが低い理由がわからず、まだまだ勉強が必要です。