【Dataiku 14.2新機能】Visual Graph を使ってみた

1.はじめに

先日、Dataiku ver 14.2.0がリリースされました。

前回の記事では、AIエージェントを統合的に管理することのできる「Agent Hub」について紹介しました。

https://www.keywalker.co.jp/blog/dataiku-agent-hub.html

今回のアップデートでも様々な機能が追加されていますが、その中でも注目したい機能として「Visual Graph」という機能があります。

https://doc.dataiku.com/dss/latest/release_notes/14.html#version-14-2-0-october-17th-2025

Visual Graph は、データ間の関係をネットワークグラフで可視化し、詳細な分析を可能にする新機能です。本記事では、その主要機能を紹介します。

2.Visual Graphについて

Visual Graph は、データセット同士の複雑なつながりを ネットワークグラフ で見やすく可視化できるアプリケーションです。 ネットワークグラフを使うことで、対象同士の関係性を直感的に理解し、効率よく分析できます。

A, B, C のノードと A から B・C への矢印
各点はノード、矢印はエッジを表す。A から B・C へ関係がある( その関係が「影響」や「因果」を意味するかは、エッジの定義による)
  Visual Graphについて

https://doc.dataiku.com/dss/latest/graph/visual-graph/index.html#visual-graph

今回はDataikuのチュートリアルを利用して、大まかな機能を見ていこうと思います。

https://knowledge.dataiku.com/latest/ml-analytics/visual-graphs/tutorial-visual-graph.html?_gl=1*1tvr3qt*_gcl_au*MTY0NTczMDI2LjE3NjE4NjYwNDI.*_ga*ODM3ODUxNTQ3LjE3MTIwMjE1Nzc.*_ga_B3YXRYMY48*czE3NjI3Mjg5MjQkbzY4MiRnMSR0MTc2MjcyOTEzOCRqNTkkbDAkaDA.#tutorial-building-and-exploring-a-graph-for-patient-data-analysis

チュートリアルのユースケースは、患者・医薬品・疾病に加えて、併用禁忌(一緒に処方してはいけない薬の組み合わせ)の関係を可視化・分析することです。

3.Visual Graphの作り方

まず初めに、プロジェクトの作成を行います。

新しいプロジェクトから学習プロジェクトを選択します。

学習プロジェクトを選択したら、Visual Graph Pluginを選択します

今回使用されるデータセットがインポートされます。

使用するデータセットと概要は以下のようになります。

データセット名 概要
Patient data 患者に関する名前、年齢、疾病
Drug data 市販されている薬剤と、対応する疾病
Disease data 疾病の分類
Drug contraindications 併用禁忌の薬の組み合わせ

また、今グラフを描画するためのプラグイン「Visual Graph」をプラグインストアからインストールします。

プラグインのインストール方法に関してはこちらが参考になります

https://doc.dataiku.com/dss/latest/plugins/installing.html

インストールが終わったら、次はWebappsを選択します。

NEW WEBAPPからVisual Graph-Editorを選択します。

Node Sourcesでノードを作るためのデータセットを選択します(ここではPatients,Diseases,Drugs)

Edge Sourcesでエッジを作るためのデータセットを選択します(ここではDrugs,DrugContraindictions,PatientDiseases)

次にVisual Graph Editor Internal Datasetsで各種設定を行います。

Internal Storage Datasetはグラフの情報が入力されます。グラフの情報を保存するためのデータセットを指定してください。

AI Assistantも設定します。後述するQuery generatorが利用可能になります。

各種設定が終わればアプリの画面に遷移し、ノードグループ(対象となるノードのあつまり)を定義します。

まず画面左端のCreate a new graphを選択します。

Node groupsで今回は以下のように設定します。ラベルはPatientsとつけておきます。

Select datasetでPatientsを選択

Select column with unique identifiersで一意な識別子としてpatient_idを選択

Select column with namesでnameを選択します。これがノードの名前になります。

Select columns with additional propertiesでメタ情報としてageを追加します。

同様にDiseases,Drugsも以下のように設定します

これらの設定が終わるとノードが画面上に現れます。

青色がPatients、緑色がDiseases、赤色がDrugsの各種ノードを表します。

同様にエッジグループの設定も行います。ラベルはDrugからDiseasesへの影響をみるという意味を込めてDrugtoDiseasesとつけます。

Select source node groupでDrugsを選択します。これがエッジの始点となるノードになります。

Select target node groupでDiseasesを選択します。これがエッジの終点となるノードになります。

Edge sourceのセグメントではエッジの細かな設定を行います。

Select datasetでDrugsを選択します。これがエッジの含まれるデータセットになります。

Select column with source identifiersでdrug_idを選択します。これがエッジの始点の識別子になります。

Select column with target identifiersでused_for_diseaseを選択します。これがエッジの終点の識別子になります。

元データの構成は以下のような形になります。

同様にDrugContradictions,PatientDiseasesを作成します。

DeugContradictionsは薬同士の関係、PatientDiseasesは患者と疾病の関係を定義しています。

設定が終わると次のような画面になります。

ノードとエッジが定義され、データの関係性が可視化できました。

4.Cypher queriesでの分析

完成したネットワークグラフを細かく分析するためにCypherクエリ(ネットワークグラフ専用のクエリ言語)を利用して分析を行います。

画面下にあるNew queryで

MATCH (d:Drugs)-[r1:DrugtoDiseases]->(dis:Diseases)
WHERE LOWER(dis.name) = LOWER("Depression")
OPTIONAL MATCH (d)-[r2:DrugContradictions]->(d2:Drugs)
RETURN d, r1, dis, r2, d2

をコピペして実行します。

実行するグラフは以下のようになります。

結果から、SertralineEscitalopram(いずれもうつ病に用いられる薬)は併用すべきではないこと、また SertralineLorazepam併用禁忌であることが示されています

このような形で、グラフの分析を細かくできるようになります。

またクエリが分からない場合は、Query generatorを使うことによってクエリをプロンプトから生成することもできます。

プロンプトは以下のように入力すると、クエリが生成されます。

Identify patients with high cholesterol, which drugs they take and their contraindications.

5.おわりに

今回の記事ではDataikuでのVisual Graphを利用したネットワークグラフの作成方法について解説しました。

ネットワークグラフを利用することによって、データ間の関係性を可視化することによって、より実りある分析ができるようになります。

みなさまも、Visual Graphを自社の課題に利用してみてはいかがでしょうか。

ShtockData

お問い合わせフォーム

お問い合わせ項目を選択してください