1、基于Sklearn的PCA代码实现git
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.decomposition import PCA digits = datasets.load_digits() X = digits.data y = digits.target X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=666) knn_clf = KNeighborsClassifier() knn_clf.fit(X_train, y_train) pca = PCA(n_components=2) pca.fit(X) X_reduction = pca.transform(X) for i in range(10): plt.scatter(X_reduction[y==i,0], X_reduction[y==i,1], alpha=0.8)
输出结果:编程
2、运行过程当中出现的问题。dom
初次运行时出现:No module named 'sklearn.model_selection'spa
代码提示指向:code
from sklearn.model_selection import train_test_split
仔细查看代码,并没有问题,问题出在Sklearn的版本太低,Sklearn 0.17.1的版本(及之前)是不包含model_selection库的。component
运行 Anaconda Prompt(编程使用Anaconda3),输入conda list 可查看各类库的版本,其中scikit-learn的版本显示为:orm
这时就须要更新版本了,可输入:conda update scikit-learn 进行版本更新。blog
若输入:conda update scikit-learn 报错,则可以使用:pip install -U scikit-learn 。ip
成功安装以后运行代码,不报错,问题解决。ci