Pythonを使用して、ユーザーがさまざまなアクティビティに従う共通パスを特定する

私は、ユーザーのクリックストリームデータをプラットフォーム内でのその動作に関して持っています。一時的な順序で提供されるアクティビティがあり、ユーザーはこれらのアクティビティ間を行き来することができます。以下はその例です:

enter image description here

ここでは、時間的な順序で3つのアクティビティがあります。青い矢印は1人のユーザーを表し、緑色の矢印は別のユーザーを表します。ご覧のとおり、この2人のユーザーは別のパスをたどりました。

私のシナリオでは、500人以上のユーザーが2つのカテゴリ(グループAとグループBに分かれています)と50以上のアクティビティに分かれています。グループAとグループBの共通パターンを特定し、そのパターンを比較したいと思います(私は、各ユーザーグループとは異なるパターンを見たいと思っています)。

そこに私が利用できる有用な(無料の)ツールがあるのだろうかと思います。私はPythonが好きですが、私はこれのためのPythonライブラリを見つけることができませんでした。私はまた、ユーザーが従うパスを視覚化するツール(またはPythonライブラリ)を探しています。助言がありますか?

1
あなたが共有できるデータのサンプルがありますか?
追加された 著者 Ivo Bosticky,
あなたのコメントのために@エドモンドのおかげで!データには基本的に source、target、weight の列があります。 sankey を使用して、ユーザーグループのパスを個別に視覚化しました。これは私が遠くまで見ることができる最高の解決策であるようです。どう思いますか?
追加された 著者 rosso,

1 答え

データベース(SQL)を使用して頻度でパスをランク付けし、ウィンドウの長さを修正したら必要に応じて開始点、終了点を制限することができます。パスの長さを可変にすると、SQLですべてのことを行うことができなくなります。その場合、状態間の遷移確率を学習し、距離が対数尤度である加重最短経路問題を解くことができます。あるいは、A *検索のようなヒューリスティックを使うこともできます。非常に特殊なので、これをすべて行うライブラリについてはわかりませんが、 networkx を実行します。

1
追加された