Python

pandasでmulti-hot encodingする

pivot_tableに関しては以下参照しています datascience.stackexchange.com やりたいこと 以下のようにpandasでlistとして保持しているカテゴリー値を 以下のようにmulti-hot encodingしたい やり方 全体処理 以下のように、一度listを展開し、pivot_tableで…

dictで保持している特徴量のtrain_test_split

やりたいこと 以下のように辞書型で保持している特徴量を {'field1': array([0, 1, 2, 3, 4, 5]), 'field2': array([5, 4, 3, 2, 1, 0]), 'label': array([1, 0, 1, 0, 0, 0])} 以下のように辞書型を保持したまま分割したい {'field1': array([4, 0, 3]), 'f…

Pythonで不規則な2次元標準リストをflattenする

やりたいこと [0, 0, [0, 0], 0, [0]] みたいな不規則にlistが含まれる標準リストを以下のように平坦化したい [0, 0, 0, 0, 0, 0] やり方 一度全ての値をリスト化して、その上でitertools.chain.from_iterableを適用すればできた def flatten_sequences(sequ…

one-hot encodingされた特徴量を逆に元のカテゴリー値に戻す

MovieLensのデータセットがこんな感じで処理がめんどくさかったのでメモとして やりたいこと 以下のように one-hot encoding された状態で渡されたデータセットを movie_id action horror romance sf 0 1 1 0 0 0 1 2 0 0 1 0 2 2 1 0 0 0 3 3 0 0 0 1 4 3 1…

時系列に考慮したシーケンシャル・カテゴリ特徴量へのログデータの省メモリな変換

はじめに こんにちは、今回は時系列情報を考慮する必要のあるログデータに対して、メモリ消費を抑えつつ前処理を行う方法について書いていきます。 やりたいこと このようなユーザーごとの行動ログの入ったデータセットがあったとして、 userid itemid categ…

ログデータの省メモリなmatrix変換

やりたいこと 以下のような、user, item などキーとして階層的に値を持つログデータがあるとして、 (以下、user item はケースによって読み替えてください) >>> df = pd.DataFrame([['user1','item1',5],['user1','item2',4],['user2','item2',5],['user2'…