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


一、基於Sklearn的PCA代碼實現

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)

輸出結果:

 

 二、運行過程中出現的問題。

  初次運行時出現:No module named 'sklearn.model_selection'

  代碼提示指向:

 

from sklearn.model_selection import train_test_split

 

  仔細查看代碼,並無問題,問題出在Sklearn的版本過低,Sklearn 0.17.1的版本(及以前)是不包含model_selection庫的。

  運行 Anaconda Prompt(編程使用Anaconda3),輸入conda list 可查看各種庫的版本,其中scikit-learn的版本顯示為:

                                        

  這時就需要更新版本了,可輸入:conda update scikit-learn 進行版本更新。

  若輸入:conda update scikit-learn 報錯,則可使用:pip install -U scikit-learn 。

  成功安裝之后運行代碼,不報錯,問題解決。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM