コード例 #1
0
import seaborn as sns
iris = sns.load_dataset('iris')
X_iris = iris.drop('species', axis=1)
y_iris = iris['species']
from sklearn.cross_validation import train_test_split
Xtrain, Xtest, ytrain, ytest = train_test_split(X_iris, y_iris, random_state=1)
from sklearn.naive_bayes import GaussianNB  # 選擇模型類別
model = GaussianNB()  # 實體化模型
model.fit(Xtrain, ytrain)  # 對資料擬合此模型
y_model = model.predict(Xtest)  # 針對新資料進行預測
from sklearn.metrics import accuracy_score
print(accuracy_score(ytest, y_model))
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
model = PCA(n_components=2)
model.fit(X_iris)
X_2D = model.fit_transform(X_iris)
iris['PCA1'] = X_2D[:, 0]
iris['PCA2'] = X_2D[:, 1]
sns.lmplot("PCA1", "PCA2", hue='species', data=iris, fit_reg=False)
plt.show()

# from sklearn.mixture import GMM  # 選擇模型類型
# model = GMM(n_components = 3, covariance_type = 'diag') # 不需要使用超參數及實體化模型
# model.fit(X_iris)
# y_gmm = model.predict(X_iris)
#
# iris['cluster'] = y_gmm
# sns.lmplot("PCA1", "PCA2", data = iris, hue = 'species', col = 'cluster', fit_reg = False)