@rianusr
2019-08-13T10:06:59.000000Z
字数 1571
阅读 2981
06-机器学习
from sklearn import datasets #获取内置数据
iris=datasets.load_iris() #导入iris数据
x=iris.data
y=iris.target
print(x[:10])
print(y[:10])
# 构建PCA模型
from sklearn.decomposition import PCA
# sklearn.decomposition.PCA(n_components=None,cpopy=True,whiten=False)
# n_components:主成分个数
# cpopy:是否复制一份原始数据,default=Ture
# whiten:白化,使用每个特征具有相同的方差,default=False
pca=PCA(n_components=3) # 定义一个PCA模型
pca.fit(x) # fit()函数
x_new=pca.transform(x) # transform()函数
print(x_new[:5])
# x_new=pca.fit_transform(x) #fit_transform -- 可以替代fit()和transform()
#主成分解释方差占比
print(pca.explained_variance_ratio_)
print(pca.explained_variance_)
#PCA降维后可视化
pca=PCA(n_components=2) #降到2维之后图表进行展示
pca.fit(x)
x_new = pca.transform(x)
import matplotlib.pyplot as plt
%matplotlib inline
plt.scatter(x_new[:,0],x_new[:,1],marker="o",c=y)
plt.show()
from sklearn import datasets
#导入iris数据
iris=datasets.load_iris() #获取内置数据
x=iris.data
y=iris.target
print(x[:10])
print(y[:10])
#LDA降维
from sklearn.lda import LDA
import matplotlib.pyplot as plt
lda=LDA(n_components=2) #定义一个LDA模型
x_new = lda.fit_transform(x,y) #fit()、transfrom()之后产生新的数据集
print(x_new[:5])
lda.predict(x) # predict()函数
lda.score(x,y)
plt.scatter(x_new[:,0],x_new[:,1],marker="o",c=y)
plt.show()