1. 程式人生 > >資料預處理(3) ——資料歸約 使用python(sklearn,pandas,numpy)實現

資料預處理(3) ——資料歸約 使用python(sklearn,pandas,numpy)實現

資料預處理的主要任務有:

一、資料預處理

1.資料清洗

2.資料整合

3.資料轉換

4.資料歸約

4.資料歸約

資料規約技術可以用來得到資料集的規約表示,它小得多,但仍接近於保持原始資料的完整性。也就是說,在規約後的資料集挖掘將更加有效。

(1)資料立方體聚集:聚集操作用於資料立方體結構中的資料。


(2)屬性子集選擇:通過刪除不相關或冗餘的屬性(或維)減小資料集。屬性子集選擇的目標是找出最小屬性集,使得資料類的概率分佈儘可能地接近使用所有屬性得到的原分佈。對於屬性子集選擇,一般使用壓縮搜尋空間的啟發式演算法。通常,這些方法是貪心演算法,在搜尋屬性空間時,總是做看上去當時最佳的選擇。策略是做區域性最優選擇,期望由此導致全域性最優解。在實踐中,這種貪心演算法是有效地,並可以逼近最優解。



①逐步向前選擇:該過程由空屬性集作為歸約集開始,確定原屬性集中最好的屬性,並將它新增到歸約集中。在其後的每一次迭代步,將剩下的原屬性集中最好的屬性新增到該集合中。

②逐步向後刪除:該過程由整個屬性集開始。在每一步,刪除尚在屬性集中最差的屬性。

③向前選擇和向後刪除的結合

(http://blog.csdn.net/daxiaofan/article/details/53118259)

④決策樹歸納:決策樹演算法,如ID3、C4.5和CART最初是用於分類的。決策樹歸納構造一個類似於流程圖的結構,其中每個內部(非樹葉)節點表示一個屬性的測試,每個分枝對應於測試的一個輸出;每個外部(樹葉)節點表示一個類預測。在每個節點,演算法選擇最好的屬性,將資料劃分成類。


(3)維度歸約:使用編碼機制減小資料集的規模,例如:小波變換和主成分分析。

3.1 主成分分析

from sklearn.datasets import load_digits
digits=load_digits()
data=digits.data
from sklearn.decomposition import KernelPCA
pca=KernelPCA(n_components=2)
pca.fit(data)

x=pca.transform(data)
import matplotlib.pyplot as plt
color=['#FF0000','#FF6600','#FF6600','#33FF00','#09F7F7','#0066FF','#FF00FF','#FF0099','#F70968','#669971','#584A93','#AA6334','#8C518C','#4F2838','#21010E','#E2FAEC','#8F8FD6','#DA70D6','#7FFF00','#008B00']
tar=digits.target    
for i in range(10):
    xx=x[tar==i]
    plt.scatter(x=xx[:,0],y=xx[:,1],c=color[i])
    
data.shape
#Out[40]: (1797L, 64L)

x.shape
#Out[41]: (1797L, 2L)

3.2小波變換(能力有限 ,學會了在補上)

離散小波變換是一種線性訊號處理技術,用於資料向量x是,將它變換成不同數值小波係數向量x’。兩個向量具有相同的長度。當這種技術用於資料規約時,每個元祖看作一個n維資料向量,描述n個屬性在元組上的n個測量值。


(4)數值歸約:用替代的、較小的資料表示替換或估計資料,如引數模型(只需要存放模型引數,不是實際資料)或非引數方法,如聚類、抽樣和使用直方圖。

挺抽象,沒看懂

4.1 直方圖

x=[1,1,5,5,5,5,8,8,10,10,10,10,14,14,14,14,15,15,15,15,15,15,18,18,18,18,18,18,18,18,18,20,2,20,20,20,20,20,20,21,21,21,25,25,25,25,25,28,28,30,30,30]
x=pd.Series(x)
count=x.value_counts()
count.plot(kind='bar')
plt.show()
s=pd.cut(x,bins=[0,10,20,30])
s.value_counts().plot(kind='bar')


4.2抽樣

用pandas切片可以完成

43 引數模型 (不太懂)

很重要的是,用於資料歸約的計算時間不應當超過或“抵消”對歸約資料探勘節省的時間。

參考文獻:

https://www.douban.com/note/128949687/

http://www.cnblogs.com/jasonfreak/p/5448385.html

相關推薦

Python資料處理:機器學習、人工智慧通用技術1

Python資料預處理:機器學習、人工智慧通用技術 白寧超  2018年12月24日17:28:26  摘要:大資料技術與我們日常生活越來越緊密,要做大資料,首要解決資料問題。原始資料存在大量不完整、不一致、有異常的資料,嚴重影響到資料建模的執行效率,甚至可能導致模型

入門|三行Python程式碼資料處理速度提高2到6倍 python入門

在 Python 中,我們可以找到原生的並行化運算指令。本文可以教你僅使用 3 行程式碼,大大加快資料預處理的速度。 入門|三行Python程式碼,讓資料預處理速度提高2到6倍 Python 是機器學習領域內的首選程式語言,它易於使用,也有很多出色的庫來幫助你更

資料處理:讀取檔案資料並存為python陣列

檔案的簡單讀取 # 定義一個將檔案中的資料轉化為陣列的類 import numpy as np class DataUtil: # =============================================================================

資料處理之將類別資料數字化的方法 —— LabelEncoder VS OneHotEncoder

LabelEncoder 和 OneHotEncoder 是什麼 在資料處理過程中,我們有時需要對不連續的數字或者文字進行數字化處理。在使用 Python 進行資料處理時,用 encoder 來轉化 dummy variable(虛擬資料)非常簡便,encoder 可以將

資料處理3 ——資料 使用pythonsklearnpandasnumpy實現

資料預處理的主要任務有: 一、資料預處理 1.資料清洗 2.資料整合 3.資料轉換 4.資料歸約 4.資料歸約 資料規約技術可以用來得到資料集的規約表示,它小得多,但仍接近於保持原始資料的完整性。也就是說,在規約後的資料集挖掘將更加有效。 (1)資料立方體

【ADNI】資料處理3CNNs

ADNI Series 1、【ADNI】資料預處理(1)SPM,CAT12 2、【ADNI】資料預處理(2)獲取 subject slices 3、【ADNI】資料預處理(3)CNNs 4、【ADNI】資料預處理(4)Get top k slices according to CNN

3-6 用 Pandas 進行資料處理資料清洗與視覺化版本:py3

主要內容: 格式轉換 缺失資料 異常資料 資料標準化操作 格式轉換 如Python記錄時間的方式,不能夠直接實現減運算,就需要進行轉換 pandas.to_datetime 缺失資料 忽略缺失資料 直接標記 利用平均值、最常出現值進行填充 異常資料 處

基於深度學習的CT影象肺結節自動檢測技術一——資料處理一化資料增強資料標記

開發環境 Anaconda:jupyter notebook /pycharm pip install SimpleItk # 讀取CT醫學影象 pip install tqdm # 可擴充套件的Python進度條,封裝

機器學習:用sklearn進行資料處理:缺失值處理資料標準化、一化

在我們平時進行資料資料探勘建模時,一般首先得對資料進行預處理,其中就包括資料缺失值、異常值處理、資料的標準化、歸一化等等。 下面主要介紹如何對一個數據檔案進行資料的缺失值處理、標準化和歸一化 MID_SP MID_AC MID_R25 MID_COND LITHO1 55.

Python資料處理一化按列減均值除方差標準化按列縮放到指定範圍正則化範數

一、標準化(Z-Score),或者去除均值和方差縮放 公式為:(X-mean)/std  計算時對每個屬性/每列分別進行。 將資料按期屬性(按列進行)減去其均值,並處以其方差。得到的結果是,對於每個屬性/每列來說所有資料都聚集在0附近,方差為1。 實現時,有兩種不同

資料處理一化Normalization與損失函式中正則化Regularization解惑

背景:資料探勘/機器學習中的術語較多,而且我的知識有限。之前一直疑惑正則這個概念。所以寫了篇博文梳理下 摘要:   1.正則化(Regularization)     1.1 正則化的目的      1.2 結構風險最小化(SRM)理論     1.3 L1範數

CS231n課程學習筆記——資料處理、批量一化和Dropout

資料預處理 均值減法 它對資料中每個獨立特徵減去平均值,從幾何上可以理解為在每個維度上都將資料雲的中心都遷移到原點。 #numpy X -= np.mean(X, axis=0) 歸一化 是指將資料的所有維度都歸一化,使其數值範圍都

深度學習小白——神經網路3資料處理dropout正則化

一、資料預處理 資料矩陣X,維度是【N*D】N是資料樣本數,D是資料維度 1.均值減法 它對資料中每個獨立特徵減去平均值,從幾何上可以理解為在每個維度上都將資料雲的中心都遷移到原點 X-=np.mean(X,axis=0) 2.歸一化 先對資料做零中心化,然後每個維度都除以

機器學習 第3篇:資料處理使用插補法處理缺失值

插補法可以在一定程度上減少偏差,常用的插補法是熱卡插補、擬合插補和多重插補。擬合插補,要求變數間存在強的相關性;多重插補(MCMC法),是在高缺失率下的首選插補方法,優點是考慮了缺失值的不確定性。 一,熱卡插補 熱卡填充(Hot deck imputation)也叫就近補齊,對於一個包含空值的物件,熱卡填充法

【ADNI】資料處理6ADNI_slice_dataloader ||| show image

ADNI Series 1、【ADNI】資料預處理(1)SPM,CAT12 2、【ADNI】資料預處理(2)獲取 subject slices 3、【ADNI】資料預處理(3)CNNs 4、【ADNI】資料預處理(4)Get top k slices according to CNN

【ADNI】資料處理5Get top k slices (pMCI_sMCI) according to CNNs

ADNI Series 1、【ADNI】資料預處理(1)SPM,CAT12 2、【ADNI】資料預處理(2)獲取 subject slices 3、【ADNI】資料預處理(3)CNNs 4、【ADNI】資料預處理(4)Get top k slices according to CNN

【ADNI】資料處理4Get top k slices according to CNNs

ADNI Series 1、【ADNI】資料預處理(1)SPM,CAT12 2、【ADNI】資料預處理(2)獲取 subject slices 3、【ADNI】資料預處理(3)CNNs 4、【ADNI】資料預處理(4)Get top k slices according to CNN

【ADNI】資料處理2獲取 subject slices

ADNI Series 1、【ADNI】資料預處理(1)SPM,CAT12 2、【ADNI】資料預處理(2)獲取 subject slices 3、【ADNI】資料預處理(3)CNNs 4、【ADNI】資料預處理(4)Get top k slices according to CNN

【ADNI】資料處理1SPMCAT12

ADNI Series 1、【ADNI】資料預處理(1)SPM,CAT12 2、【ADNI】資料預處理(2)獲取 subject slices 3、【ADNI】資料預處理(3)CNNs 4、【ADNI】資料預處理(4)Get top k slices according to CNN

搭建簡單圖片分類的卷積神經網路-- 訓練模型的圖片資料處理

一、訓練之前資料的預處理主要包括兩個方面 1、將圖片資料統一格式,以標籤來命名並存到train資料夾中(假設原始圖片按類別存到資料夾中)。 2、對命名好的圖片進行訓練集和測試集的劃分以及圖片資料化。 先對整個專案檔案進行說明: 專案資料夾