目录
1.导入相关模块
import numpy as np
imprort pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns; sns.set()
2.导入数据和画图
iris=pd.read_rsv('iris.csv')
iris.head()
sns.pairplot(iris, hue='species', size=1.5);
3.分割数据
X_iris = iris.drop('species', axis=1)
X_iris.shape
y_iris = iris['species']
y_iris.shape
有监督学习示例:鸢尾花数据分类
4.高斯朴素贝叶斯
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 # 1.选择模型类
model = GaussianNB() # 2.初始化模型
model.fit(Xtrain, ytrain) # 3.用模型拟合数据
y_model = model.predict(Xtest) # 4.对新数据进行预测
from sklearn.metrics import accuracy_score
accuracy_score(ytest, y_model)
无监督学习示例:鸢尾花数据降维
5.PCA数据降维
from sklearn.decomposition import PCA # 1.选择模型类
model = PCA(n_components=2) # 2.设置超参数,初始化模型
model.fit(X_iris) # 3.拟合数据,注意这里不用y变量
X_2D = model.transform(X_iris) # 4. 将数据转换为二维
iris['PCA1'] = X_2D[:, 0]
iris['PCA2'] = X_2D[:, 1]
sns.lmplot("PCA1", "PCA2", hue='species', data=iris, fit_reg=False);
无监督学习示例:鸢尾花数据聚类
6. 高斯混合模型
from sklearn.mixture import GMM # 1.选择模型类
model = GMM(n_components=3,
covariance_type='full') # 2.设置超参数,初始化模型
model.fit(X_iris) # 3.拟合数据,注意不需要y变量
y_gmm = model.predict(X_iris) # 4. 确定簇标签
iris['cluster'] = y_gmm
sns.lmplot("PCA1", "PCA2", data=iris, hue='species',
col='cluster', fit_reg=False);
标签:iris,示例,聚类,import,鸢尾花,PCA,数据,model
From: https://www.cnblogs.com/redufa/p/18458451