數(shù)據(jù)探索 —— 數(shù)據(jù)預(yù)處理 4

Python主要數(shù)據(jù)預(yù)處理函數(shù)

下表給出了本節(jié)要介紹的Python中的插值、數(shù)據(jù)歸一化、主成分分析等與數(shù)據(jù)預(yù)處理相關(guān)的函數(shù)。


Python主要數(shù)據(jù)預(yù)處理函數(shù)

(1)interpolate

  1. 功能:interpolate是Scipy的一個子庫,包含了大量的插值函數(shù),如拉格朗日插值、樣條插值、高維插值等。使用前需要用from scipy.interpolate import *引入相應(yīng)的插值函數(shù)。
  2. 使用格式:f = scipy.interpolate.lagrange(x, y)。這里僅僅展示了一維數(shù)據(jù)的拉格朗日插值的命令,其中x,y為對應(yīng)的自變量和因變量數(shù)據(jù)。插值完成后,可以通過f(a)計算新的插值結(jié)果。類似的還有樣條插值、多維數(shù)據(jù)插值等。

(2) unique

  1. 功能:去除數(shù)據(jù)中的重復(fù)元素,得到單值元素列表。它既是Numpy庫的一個函數(shù)(np.unique()),也是Series對象的一個方法。
  2. 使用格式:
  • np.unique(D),D是一維數(shù)據(jù),可以是list、array、Series;
  • D.unique(),D是Pandas的Series對象。
  1. 實例:求向量A中的單值元素,并返回相關(guān)索引。
>>> D = pd.Series([1, 1, 2, 3, 5])
>>> D.unique()
array([1, 2, 3, 5], dtype=int64)
>>> np.unique(D)
array([1, 2, 3, 5], dtype=int64)

(3)isnull/notnull

  1. 功能:判斷每個元素是否空值/非空值
  2. 使用格式:D.isnull()/D.notnull()。這里的D要求是Series對象,返回一個布爾Series。可以通過D[D.isnull()]D[D.notnull()]找出D中的空值/非空值。

(4)random

  1. 功能:random是Numpy的一個子庫(Python本身也自帶了random,但Numpy的更加強大),可以用該庫的各種函數(shù)生成服從特定分布的隨機矩陣,抽樣時可使用。
  2. 使用格式:
  • np.random.rand(k, m, n,...)生成一個k×m×n×...隨機矩陣,其元素均勻分布在區(qū)間(0, 1)上;
  • np.random.randn(k, m, n,...)生成一個k×m×n×...隨機矩陣,其元素服從標(biāo)準(zhǔn)正態(tài)分布。

(5)PCA

  1. 功能:對指標(biāo)變量矩陣進(jìn)行主成分分析。使用前需要用from sklearn.decomposition import PCA引入該函數(shù)。
  2. 使用格式:model = PCA()。注意,Scikit-Learn下的PCA是一個建模式的對象,也就是說,一般的流程是建模,然后是訓(xùn)練model.fit(D),D為要進(jìn)行主成分分析的數(shù)據(jù)矩陣,訓(xùn)練結(jié)束后獲取模型的參數(shù),如.components_獲取特征向量,以及.explained_variance_ratio_獲取各個屬性的貢獻(xiàn)率等。
  3. 實例:使用PCA()對一個10×4維的隨機矩陣進(jìn)行主成分分析。
>>>from sklearn.decomposition import PCA
>>>D = np.random.rand(10,4)
>>>pca = PCA()
>>>pca.fit(D)
PCA(copy=True, iterated_power='auto', n_components=None, random_state=None, svd_solver='auto', tol=0.0, whiten=False)
>>>pca.components_  # 返回模型的各個特征向量
array([[-0.06811883,  0.51265709,  0.77200257, -0.3695329 ],
       [-0.37378143, -0.70298054,  0.15371729, -0.58521517],
       [ 0.9163908 , -0.18585149,  0.03542612, -0.35274936],
       [-0.12599668,  0.45657452, -0.61573372, -0.62971146]])
>>>pca.explained_variance_ratio_  # 返回各個成分各自的方差百分比
array([0.5431792 , 0.26934177, 0.14385656, 0.04362248])
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Scipy scipy包含致力于科學(xué)計算中常見問題的各個工具箱。它的不同子模塊相應(yīng)于不同的應(yīng)用。像插值,積分,優(yōu)化...
    Aieru閱讀 34,950評論 3 59
  • 原來用markdown寫的,簡書公式編輯比較麻煩。所以正常公式版本可以戳以下鏈接https://www.zybul...
    hainingwyx閱讀 21,127評論 11 97
  • 數(shù)據(jù)形式 數(shù)據(jù)讀取 數(shù)據(jù)預(yù)處理 數(shù)據(jù)收集及讀取 很多人認(rèn)為數(shù)據(jù)分析就是將數(shù)據(jù)可視化或者對數(shù)據(jù)趨勢做出預(yù)測,其實是不...
    Clemente閱讀 2,243評論 0 5
  • 天氣還是有點冷 在這寒冷的南方蔓延 我們都在尋找一絲溫暖 火辣辣的辣椒和餃子 讓這個冬日暖和了一點 表面笑得多開心...
    Jay1972閱讀 346評論 4 6
  • 一樣的青春,卻是不一樣的我們 原創(chuàng):蔣好著好著學(xué)長7月17日 夏天·青春 支教·青春 總想寫點東西,有關(guān)于支教生活...
    艸者閱讀 818評論 0 0

友情鏈接更多精彩內(nèi)容