共起ネットワークとは?ノード間の共通性をネットワークを用いて図示する方法のことを共起ネットワークと言います。簡単に言うと、単語や商品ごとの繋がりをかっこよく視覚的に捉える手法です。今回は、手元にある店舗に置けるレシートデータが集められたと仮定し、ある商品との併売状況を共起ネットワークで可視化したいと思います。Colab分析に使用するデータはcsvでもなんでも構いません、今回はBigQueryにレシートデータが揃っている前提でお話を進めます。Colab上で実行しています。手順Colabで日本語表示を設定データベースに入っているテキストが英語の場合は、この操作は特に必要ありません。/root/.cache/matplotlib/fontlist-v300.jsonColabにIPAフォントをインポートする。分析用データの準備ColabとBigQueryを接続します。ColabとBigQueryは接続完了です。project_idには、ご自身のGCPのプロジェクトIDを入れてください。BigQueryからデータを集計してColab上に出力します。前処理の内容は元データによって様々ですので割愛しています。下の図表のような感じでDataFrameが出力できればOKです。カラムではJaccard係数、Dice係数などが主に使われています。共起ネットワークの構築と出力matplotlibとグラフ・ネットワークを扱うPythonライブラリーのNetworkXをインポートします。グラフオブジェクトを作成します。ここでのポイントは、networkxライブラリのfrom_pandas_edgelistというメソッドを使っていることです。PandasのDataFrameからかんたんに共起ネットワークが構築できます。引数にあるdfは前もって準備した分析データ(DataFrame)のことです。最後に各ノードとエッジの大きさやカラーリングなどを調整して出力すれば完了です。出力結果はこちらです。上記のコードのように、draw_networkx_edgesのwidth引数を工夫することで、ノード間の関連度の高さに応じてエッジの太さを変更することも可能です。マーケ×スキルライタープロフィールスタートアップのマーケ担当からWebエンジニアに転身/アプリ開発/データ分析/Python/機械学習/メンタルケア/休日コミュニティ運営/気になるWebサービスの紹介もします。【Pythonでデータ分析】アンケート結果を因子分析(FactorAnalysis)する。reserved.スポンサーリンク。