基於sklearn的主成分分析

2021-09-21 05:59:46 字數 1045 閱讀 2934

特徵降維是無監督學習的一種應用:將n維的資料降維為m維的資料(n>m)。可應用於資料壓縮等領域

當進行主成分分析時,優化目標為$c = argmin ||x - g(c)||_$,其中c為編碼,g(c)為解碼函式

import numpy as np

import pandas as pd

digits_train = pd.read_csv('', header=none)

digits_test = pd.read_csv('', header=none)

train_x,train_y = digits_train[np.arange(64)],digits_train[64]

test_x,test_y = digits_test[np.arange(64)],digits_test[64]

from sklearn.decomposition import pca

estimator = pca(n_components=20)

pca_train_x = estimator.fit_transform(train_x)

pca_test_x = estimator.transform(test_x)

from sklearn.svm import linearsvc
svc = linearsvc()

svc.fit(x=train_x,y=train_y)

svc.score(test_x,test_y)

0.9393433500278241
svc_pca = linearsvc()

svc_pca.fit(pca_train_x,train_y)

svc_pca.score(pca_test_x,test_y)

0.91819699499165275

主成分分析

主成分分析 pca 分析乙個隨機向量的中的主成分 主成分一般不是隨機向量中的某乙個分量,而是不同分量的線性組合,根據資訊理論的觀點,資訊的多少與方差有關,所以 主成分是方差最大的幾個成分 主成分分析的方法是求隨機向量的協方差矩陣 用樣本協方差矩陣代替 對於差異較大的資料,可採用相關矩陣代替協方差矩陣...

主成分分析

理論要點 1 主成分分析是一種無監督學習,因此不能用交叉驗證來檢驗誤差 2 在處理資料之前,要對資料做中心化處理 3 p太大的話,做特徵分解用svd 4 一共有min n 1,p 個主成分,因為中心化以後,rank要降一維 5 主成分的載荷向量就是協方差矩陣的特徵向量,對應特徵值最大的是第一主成分,...

主成分分析

1.概念 將一組可能存在相關性的隨機變數轉變成互不相關的隨機變數。這個概念裡有三個地方需要理解清楚。1 隨機變數的指代 在資料集中,每乙個樣本,即將資料集理解成乙個 的話,乙個樣本就是一行,則每一列就是乙個特徵,也就是乙個隨機變數,一列的所有取值就是隨機變數的所有可能取值 說的所有可能取值只針對訓練...