機器學習--PCA算法代碼實現(基於Sklearn的PCA代碼實現)

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

相關文章
相關標籤/搜索