python の gensimを活用してLDAでクラスタリングすることが目的です
以下のようなCSVファイルを元に
|user_id|action_1|action_2|...|action_n|
|:--|:--:|--:|
|aaaa|2|4|...|222|
|bbbb|1|3|...|232|
トピックモデルでのクラスタリングをする際に、
python
1from gensim.models.ldamodel import LdaModel 2lda = LdaModel(corpus = corpus, id2word = dic, num_topics = 10)
でcorpusとdictionaryが必要ですが、
文章などのテキスト情報を前提としたデータからのそれぞれを作成するライブラリーの文献しか見当たらないため、どのように上記のファイル
(初心者なのですが、DataFrame型と言うのでしょうか?)
からcorpusとdictionaryを作成すれば良いでしょうか?
pyhton
1#縦型変換 2vertical = pd.melt( data,id_vars=['user_id'],value_vars=ACTION_LIST) 3
のような形で縦型変換ができると言うことまでは自分で調査しました。
また、CSVファイルは以下のように取り込んでいます。
python
1data = pd.read_csv(filepath_or_buffer="data.csv", encoding="ms932", sep=",")
######追伸
時系列要素も入れて一定期間のユーザー行動をクラスタリングしたいのですが(サブスクリプションサービスのユーザー行動パターンを分析するような想定で)、より良いクラスタリング手法があれば教えてください。
あなたの回答
tips
プレビュー