有同學反饋,我們決賽的資料比較大,由於機器資源的限制,在處理資料和構建模型的時候,會遇到一些瓶頸。以下來拋一下我們了解的一些處理思路:
1 取樣
可以對資料進行下取樣,然後使用不同的子集進行特徵抽取和建模,最後再進行整合。
2 特徵處理
在處理大規模原始資料時,需要充分借助外存(硬碟)空間,只把真正需要處理的資料放進記憶體。一般而言,採用流式、分塊的方式處理資料可以解決大部分問題。以下是一些具體的技巧。
a) 只載入需要的資料到記憶體。有些特徵可以通過單條資料直接得到,如星期特徵。這種情況下,可以使用 streaming 的方式進行處理,每次讀入若干資料(chunk),處理,生成特徵,然後再寫到硬碟。使用 pandas 的 read_csv,可以設定 chunksize 引數,譬如 for chunk in read_csv ( infile, chunksize=10000 );
b) 只保留需要的資料在記憶體。決賽的資料可以直接裝到 16g 記憶體中,每次生成一條樣本的特徵,就把特徵直接寫入硬碟,不在記憶體保留。如果生成的特徵較多,可以分多次生成,寫到分散的特徵檔案,最後進行乙個 merge 操作。在 merge 的時候,可以對多個特徵檔案按照統一的 key 進行排序,然後同時掃瞄多個特徵檔案,進行merge,再寫到硬碟;
b) libffm:支援外存學習
c) xgboost:支援外存學習
d) keras:通過模型的 fit_generator 方法,支援批量讀入資料進行訓練
4寫在最後
本次比賽提供了比較大的資料,也是想讓選手們體驗現實業務場景裡面的大資料問題。在這樣的情況下,如何找到乙個高效有效的資料處理和模型構建方法,也是本次比賽的乙個挑戰。
資料探勘 資料處理
最近學校開了資料建模課程,根據學習內容做個小結。2 探索性資料分析eda 目的 熟悉資料集,了解資料集,對資料集進行驗證來確定所獲得資料集可以用於接下來的機器學習或者深度學習使用。了解變數間的相互關係以及變數與 值之間的存在關係。引導資料科學從業者進行資料處理以及特徵工程的步驟,使資料集的結構和特徵...
資料探勘(資料處理基礎)
資料及資料型別 資料是資料庫儲存的基本物件,狹義的資料理解為數值,廣義的資料理解為記錄。資料的屬性 標稱 nominal 序數 ordinal 區間 interval 和比率。標稱的屬性 只提供足夠的資訊以區分物件,例如甲乙丙 序數屬性 提供足夠的資訊,區別物件的序,例如及格,不及格 區間屬性 其屬...
資料探勘 資料處理概念
一 什麼是資料預處理?一般我們得到的資料會存在有缺失值 重複值等,在使用之前需要進行資料預處理。它是一系列對資料操作的統稱。資料預處理沒有標準的流程,通常針對不同的任務和資料集屬性的不同而不同。資料預處理的常用流程為 資料清洗 可以用來清楚資料中的雜訊,糾正不一致。資料整合 將資料由多個資料來源合併...