2016-12-07 50 views
0

我在數據集中有幾個高基數變量,並且想將它們轉換爲假數字。他們都有超過500個關卡。當我使用熊貓get_dummies時,矩陣變得如此之大,我的程序崩潰了。pandas get_dummies使用一種熱門編碼創建高基數變量創建了太多新功能

pd.get_dummies(data, sparse=True, drop_first=True, dummy_na=True) 

我不知道更好的方法來處理,除了使用一個熱碼的高基數因素,但它增加了這麼多,該內存不能處理它的數據的大小。有人有更好的解決方案嗎?

回答

0
  • 方法1: 對於非線性算法,如RF還可以通過將其顯示在列車組的次數替換分類變量。這將它變成一個單一的功能。方法2: 如果你可以使一個熱門編碼適合你的記憶,你可以考慮首先應用一個熱門編碼,然後應用一些降維方法(如PCA)或嵌入方法(word2Vec等) )在將它們納入任何ML算法之前減少尺寸。

有更多的討論在這裏: https://www.kaggle.com/general/16927