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