« ^ »

scikit-learnを用いてガウシアンナイーブベイズでアイリスのクラスタリングを行う

所要時間: 約 1分
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.naive_bayes import GaussianNB

データをロード

iris = datasets.load_iris()

萼のデータでプロット

X = iris.data[:, :2] 
plt.figure(2, figsize=(8, 6))
plt.scatter(X[:, 0], X[:, 1], c=iris.target, cmap=plt.cm.Set2)
plt.show()

学習

model = GaussianNB()
model.fit(iris.data, iris.target)

テストデータ

test_data = np.array([
    [5.1, 3.5, 1.4, 0.2],
    [1, 4, 2, 0.2],
    [6.7,3.0,5.2,2.3],
])

分類

test_result = model.predict(test_data)

プロット

plt.figure(2, figsize=(8, 6))
plt.scatter(test_data[:, 0], test_data[:, 1], c=test_result, cmap=plt.cm.Set2)
plt.show()