ML中的資料預處理

2021-08-30 02:49:30 字數 1102 閱讀 9492

如何快速讀取大量小檔案?

做乙個比賽時,有上萬個很小的csv檔案,想要把他們合併起來,發現依次讀取非常慢。能想到的思路是多執行緒讀取。python多執行緒不熟,我直接寫了幾個python指令碼處理讀取不同的資料,然後同時執行,然後把每個指令碼合併的結果再進一步合併,得到最終的檔案。

如何快速讀寫訓練集?

第一次讀入訓練集後,通過降低不必要的資料精度來減少空間占用。同時要儲存為pickle檔案,pickle讀寫比csv快非常多。

降低資料精度會,儲存為csv檔案是無效的,檔案大小不變。

訓練集和資料集某特徵差異較大如何處理?

比如某特徵在訓練集中有兩種取值,為0或1,但是在測試集中取值為0, 1, 2, 那麼可以捨棄掉這個特徵。或者用k-s檢驗來做特徵選擇。

**對原始資料首先刪除靜態列和重複列。**靜態列指的是常數。

原始資料(必須)要做 normalization! 原始資料是否要normalization根據模型而定。

概率模型如決策樹、樸素貝葉斯不需要歸一化,最優化問題如lr,nn一般需要歸一化。

在進行資料分析的時候,什麼情況下需要對資料進行標準化處理? 見maigo大佬的回答。

神經網路如果不做normalization 會出現什麼後果?今天遇到一種情況,原始資料範圍大概是(5000,10000),神經網路第一層是卷積,啟用函式是sigmoid。直接將原始資料作為神經網路的輸入,最後發現對不同樣本,神經網路的輸出竟然都是相同的。。。訓練時loss自然也不下降。原因自然是sigmoid函式的輸入太大了,輸出值接近1,對任何樣本這一層的輸出直接變成常數了,模型的輸出自然也都相同。

normalization指將資料範圍變為[0,1],有時是[-1,1],中文翻譯成歸一化,有的也叫標準化,我覺得歸一化比較貼切,標準化一般會想到標準正態分佈。深度學習裡還有一種batch normalization,這裡的normalization指的是將把每層的輸入轉化為標準正態分佈,這樣能夠加速訓練。

較大的csv如何快速傳輸?

先壓縮再傳輸,csv檔案一般壓縮率比較小。

ML 資料與資料預處理

在做機器學習的一些相關工作過程中,很多任務作涉及資料的處理,資料處理的好壞也直接影響實驗的最終結果,這裡將資料處理過程中的一些方法總結一下。機器學習裡有一句名言 資料和特徵決定了機器學習的上限,而模型和演算法的應用只是讓我們逼近這個上限。樣本資料集的數量和質量是否滿足模型構建的要求?有沒有出現從未設...

ML中的資料集處理方法

兩個常見概念 過擬合 是指為了得到一致假設而使假設變得過度嚴格。當機器學習把訓練樣本學習得 太好 可能把訓練樣本自身的一些特點當成了所有潛在樣本都具有的一本性質,這樣舊會導致泛化效能下降,這種現象在機器學習中成為過擬合overfitting.欠擬合 是指模型擬合程度不高,即模型沒有很好地捕捉到資料特...

ML 資料處理

可以不需要自己開發,使用cloudcompare的分割合併功能實現點雲標註 labeling 生成點雲訓練集資料。1 首先對點雲中的物體進行分割,分割出乙個乙個的類別。2 接著刪除所有的sf,使用add constant sf功能,新增乙個sf名字為classification,值為類別值 1,2,...