2016-12-07 2 views
0

データセットに複数の上位枢要変数があり、それらをダミーに変換したい。それらのすべては500以上のレベルを持っています。私がpandas get_dummiesを使用したとき、行列が大きくなり、プログラムがクラッシュしました。ホットカーディナリティ変数のpandas get_dummiesが1つのホットエンコーディングを使用して多数の新機能を作成する

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

私は1つのホットエンコーディングを使用してほかの高カーディナル変数を処理するためのより良い方法を知らないが、それはメモリがそれを扱うことができないほど多くのデータのサイズが大きくなります。誰かがより良い解決策を持っていますか?あなたも、それは列車のセットに表示された回数でカテゴリ変数を置き換えることができ、RFのような非直線的なアルゴリズムについては :

答えて

0
  • 方法1。これにより、1つの機能に変わります。

  • 方法2: ワンホットエンコーディングをメモリに合わせることができる場合は、最初にワンホットエンコーディングを適用してから、いくつかの次元削減方法(PCAなど)または埋め込み方法(word2Vecなど)を適用することができます。 )を使用して、それらを任意のMLアルゴリズムに適合させる前に、次元を縮小します。

より多くの議論がここにあります https://www.kaggle.com/general/16927

関連する問題