python降维之时间类型数据的处理_python学习笔记之使用sklearn进行PCA数据降维
只能說scikit-learn實在是太強大了,三言兩語就能搞定PCA
1.函數原型及參數說明
sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False)
主要參數
n_components:
意義:PCA算法中所要保留的主成分個數n,也即保留下來的特征個數n
類型:int 或者 string,缺省時默認為None,所有成分被保留。
賦值為int,比如n_components=1,將把原始數據降到一個維度。
賦值為string,比如n_components='mle',將自動選取特征個數n,使得滿足所要求的方差百分比。
copy:
類型:bool,True或者False,缺省時默認為True。
意義:表示是否在運行算法時,將原始訓練數據復制一份。若為True,則運行PCA算法后,原始訓練數據的值不會有任何改變,因為是在原始數據的副本上進行運算;若為False,則運行PCA算法后,原始訓練數據的 值會改,因為是在原始數據上進行降維計算。
whiten:
類型:bool,缺省時默認為False
意義:白化,使得每個特征具有相同的方差。
2.PCA屬性
components_:返回具有最大方差的成分。
explained_variance_ratio_:返回 所保留的n個成分各自的方差百分比。
n_components_:返回所保留的成分個數n。
3.PCA對象的方法
fit(X,y=None)
fit()可以說是scikit-learn中通用的方法,每個需要訓練的算法都會有fit()方法,它其實就是算法中的“訓練”這一步驟。因為PCA是無監督學習算法,此處y自然等于None。
fit(X),表示用數據X來訓練PCA模型。
函數返回值:調用fit方法的對象本身。比如pca.fit(X),表示用X對pca這個對象進行訓練。
fit_transform(X)
用X來訓練PCA模型,同時返回降維后的數據。
newX=pca.fit_transform(X),newX就是降維后的數據。
inverse_transform()
將降維后的數據轉換成原始數據,X=pca.inverse_transform(newX)
transform(X)
將數據X轉換成降維后的數據。當模型訓練好后,對于新輸入的數據,都可以用transform方法來降維。
PCA實例
#encoding = utf-8
import numpy as np
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
X=load_iris().data
pca = PCA(n_components=2)
pca.fit(X)
newX=pca.transform(X)
總結
以上是生活随笔為你收集整理的python降维之时间类型数据的处理_python学习笔记之使用sklearn进行PCA数据降维的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python依照概率抽样_R语言之随机数
- 下一篇: python terminator_Py