質問: Pythonを使用して、ユーザーがさまざまなアクティビティに従う共通パスを特定する 私は、ユーザーのクリックストリームデータをプラットフォーム内でのその動作に関して持っています。一時的な順序で提供されるアクティビティがあり、ユーザーはこれらのアクティビティ間を行き来することができます。以下はその例です: ![enter image description here](https://i.stack.imgur.com/WjAIF.png) ここでは、時間的な順序で3つのアクティビティがあります。青い矢印は1人のユーザーを表し、緑色の矢印は別のユーザーを表します。ご覧のとおり、この2人のユーザーは別のパスをたどりました。 私のシナリオでは、500人以上のユーザーが2つのカテゴリ(グループAとグループBに分かれています)と50以上のアクティビティに分かれています。グループAとグループBの共通パターンを特定し、そのパターンを比較したいと思います(私は、各ユーザーグループとは異なるパターンを見たいと思っています)。 そこに私が利用できる有用な(無料の)ツールがあるのだろうかと思います。私はPythonが好きですが、私はこれのためのPythonライブラリを見つけることができませんでした。私はまた、ユーザーが従うパスを視覚化するツール(またはPythonライブラリ)を探しています。助言がありますか?
回答: データベース(SQL)を使用して頻度でパスをランク付けし、ウィンドウの長さを修正したら必要に応じて開始点、終了点を制限することができます。パスの長さを可変にすると、SQLですべてのことを行うことができなくなります。その場合、状態間の遷移確率を学習し、距離が対数尤度である加重最短経路問題を解くことができます。あるいは、A *検索のようなヒューリスティックを使うこともできます。非常に特殊なので、これをすべて行うライブラリについてはわかりませんが、 [networkx](https://stackoverflow.com/questions/20133479/how-to-draw-directed -graphs-using-networkx-in-python ) を実行します。