Skip to content

shuim

SHUIM による頻出アイテム集合抽出を行います。

実行方式は JSON-RPC v2.0 を利用します。

リクエスト例

shuim は分析 API の一種であり、プロべナンス API の process メソッドに api_method="shuim" を指定することで実行できます。 以下は、プロべナンスのセッションを開始して、shuim を実行し、セッションを終了する例です。

import xdata_prov.client import Api
api = Api()
api.begin_session()

api.process(api_method="shuim", api_params={
    "output_ddc": "ddc:shuim_result",
    "input_ddc": "ddc:shuim_utility",
    "adjacent_ddc": "ddc:shuim_neighbour",
    "id_column": "ts",
    "item_column": "item",
    "utility_column": "utility",
    "min_utility": 1500
})

api.commit()
api.end_session()

パラメータ

process メソッドを api_method="shuim" として呼び出す場合、api_params は以下のキーを含む dict を受け取ります。 既定値が空欄のものは必須のパラメータとなります。

キー 説明 既定値
output_ddc 処理結果の出力先 ddc
output_mode 出力モード (overwrite または error) error
input_ddc 入力データ ddc
adjacent_ddc 隣接データ ddc
id_column input_ddc において timestep を表すカラム
item_column input_ddc において item を表すカラム
utility_column input_ddc において utility を表すカラム
min_utility ユーティリティの最小値

入力データ

ユーティリティテーブル

input_ddc で指定される入力 ddc は、「ユーティリティテーブル」です。 このテーブルは、以下のスキーマを持つ必要があります。

カラム名 データ型 説明
(timestep) (integer または timestamp with time zone) timestep を表す情報。カラム名は任意
(item) text item を表す文字列。カラム名は任意
(utility) integer utility を表す数値。カラム名は任意

隣接アイテムテーブル

adjacent_ddc で指定される ddc は、「隣接アイテムテーブル」です。 このテーブルは、以下のスキーマを持つ必要があります。

カラム名 データ型 説明
item1 text item1 と item2 が近傍であることを表す
item2 text item1 と item2 が近傍であることを表す

隣接アイテムテーブルに関する注記

論文では、各アイテムの位置情報 (Table 3) から neighbors (Table 5) を求めています。 shuim では neighbors の情報を直接与えます。

出力データ

SHUIs テーブル

output_ddc で指定される出力先 ddc に、「SHUIs テーブル」が出力されます。 このテーブルは、以下のスキーマを持ちます。

カラム名 データ型 説明
items text[] アイテムセット
utility integer ユーティリティ

戻り値

shuim は、出力先 ddc の ddc 情報を戻します。 これは、プロべナンス API の process メソッドの仕様で定められた動作です。