OML Embedded Python ExecutionのUDF

PythonからのUDFの登録

register_sai_scripts([is_global, overwrite])

SQLおよびREST用のOML Embedded Python Executionを介して実行できるように、空間AI UDFを登録します。

UDFs

SQLおよびREST APIのOML Embedded Python Executionを介して実行されるユーザー定義関数。

関数compute_spatial_weights

指定された空間表の空間ウェイトを計算します。 save_weights_asパラメータで指定されたデータ・ストアに空間重みオブジェクトを格納します。

パラメータ

タイプ

説明

table

String

データベース表の名前。

weights_def

空間加重定義JSONタイプ

計算する空間ウェイトのタイプを指定します。

save_weights_as

データストア保存仕様JSONタイプ

計算された空間重みをデータストアに格納する方法を指定します。

spatial_col

String

(オプション) - 空間加重が計算される空間列の名前。 表に1つの空間列のみが含まれている場合は、この値を指定する必要はありません。

crs

文字列または数値

(オプション) - 空間列の行列に関連付けられた空間積分システム。 EPSG:4326やWKT文字列などの権限文字列をSRID番号として指定できます。

関数compute_global_spatial_autocorrelation

指定された空間表および列のMoran I索引を計算します。 次の統計を返します: I、予想I、p値、z値

パラメータ

タイプ

説明

table

String

データベース表の名前。

column

String

空間自動相関を計算する列の名前。

weights

空間加重のロケーションJSONタイプ

(オプション) - 既存の空間加重オブジェクト。 現在の空間表のジオメトリに対して以前に計算されたものです。 指定しない場合は、weights_defを指定する必要があります。

weights_def

空間加重定義JSONタイプ

(オプション) - 計算する空間ウェイトのタイプを指定します。 指定しない場合は、重みを指定する必要があります。

save_weights_as

データストア保存仕様JSONタイプ

(オプション) - 計算された空間重みをデータストアに格納する方法を指定します。 weights_defが指定されている場合にのみ使用されます。

spatial_col

String

(オプション) - 空間加重が計算される空間列の名前。 表に1つの空間列のみが含まれている場合は、この値を指定する必要はありません。

crs

文字列または数値

(オプション) - 空間列の行列に関連付けられた空間積分システム。 EPSG:4326やWKT文字列などの権限文字列をSRID番号として指定できます。

戻り値

FIELD

タイプ

I

NUMBER

expected_I

NUMBER

p_value

NUMBER

z_value

NUMBER

関数compute_local_spatial_autocorrelation

ローカルMoranを使用して、指定された空間表のすべての行のローカル空間自動相関の統計を計算します。 入力表の行の統計を含む表形式の結果を返します。 返される統計は次のとおりです: I、p value、z value、quadrant。

パラメータ

タイプ

説明

table

String

データベース表の名前。

column

String

ローカル空間自動相関を計算する列の名前。

result_table

String

(オプション) - 指定すると、結果はこの表に格納されます。

key_column

String

(オプション) - 入力表の列で、この操作の結果と入力表の行を関連付けるために使用されます。 指定しない場合、ROWNUMは表から使用されます。

weights

空間加重のロケーションJSONタイプ

(オプション) - 既存の空間加重オブジェクト。 現在の空間表のジオメトリに対して以前に計算されたものです。 指定しない場合は、weights_defを指定する必要があります。

weights_def

空間加重定義JSONタイプ

(オプション) - 計算する空間ウェイトのタイプを指定します。 指定しない場合は、重みを指定する必要があります。

save_weights_as

データストア保存仕様JSONタイプ

(オプション) - 計算された空間重みをデータストアに格納する方法を指定します。 weights_defが指定されている場合にのみ使用されます。

spatial_col

String

(オプション) - 空間加重が計算される空間列の名前。 表に1つの空間列のみが含まれている場合は、この値を指定する必要はありません。

crs

文字列または数値

(オプション) - 空間列の行列に関連付けられた空間積分システム。 EPSG:4326やWKT文字列などの権限文字列をSRID番号として指定できます。

戻り値

入力表と同じ行数を含む結果セット。

FIELD

タイプ

key_columnパラメータの値、またはkey_columnパラメータが指定されていない場合は'id'

key_columnで参照される列の型によって異なります

local_moran_I

NUMBER

p_value

NUMBER

z_value

NUMBER

quadrant

NUMBER (HOTSPOT/high-high=1, DOUGHNUT/high-low=2, COLDSPOT/low-low=3, DIAMOND/low-high=4)

関数create_spatial_lag

指定された空間表の指定された列の空間ラグを作成します。 入力テーブルから各行について計算された空間ラグを含む表形式の結果を返します。

パラメータ

タイプ

説明

table

String

データベース表の名前。

column

String

空間ラグが計算される列の名前。

result_table

String

(オプション) - 指定すると、結果はこの表に格納されます。

key_column

String

(オプション) - 入力表の列で、この操作の結果と入力表の行を関連付けるために使用されます。 指定しない場合、ROWNUMは表から使用されます。

weights

空間加重のロケーションJSONタイプ

(オプション) - 既存の空間加重オブジェクト。 現在の空間表のジオメトリに対して以前に計算されたものです。 指定しない場合は、weights_defを指定する必要があります。

weights_def

空間加重定義JSONタイプ

(オプション) - 計算する空間ウェイトのタイプを指定します。 指定しない場合は、重みを指定する必要があります。

save_weights_as

データストア保存仕様JSONタイプ

(オプション) - 計算された空間重みをデータストアに格納する方法を指定します。 weights_defが指定されている場合にのみ使用されます。

spatial_col

String

(オプション) - 空間加重が計算される空間列の名前。 表に1つの空間列のみが含まれている場合は、この値を指定する必要はありません。

crs

文字列または数値

(オプション) - 空間列の行列に関連付けられた空間積分システム。 EPSG:4326やWKT文字列などの権限文字列をSRID番号として指定できます。

戻り値

入力表の各行の値を含む、空間ラグ列を含む結果セット。

FIELD

タイプ

key_columnパラメータの値、またはkey_columnパラメータが指定されていない場合は'id'

key_columnで参照される列の型によって異なります

<column>_SLAG (サフィクス_SLAGを持つ列入力パラメータと同じ名前)

列入力パラメータのタイプによって異なります

関数clustering

指定された空間表上でクラスタリングを形成し、指定されたカラムを選択するか、カラム・パラメータが指定されなかった場合は表のすべてのカラムを選択します。 使用可能なクラスタリング・メソッドは次のとおりです: DBSCAN, Agglomerative, KMeans.

パラメータ

タイプ

説明

table

String

データベース表の名前。

columns

String

クラスタリング・アルゴリズムによって機能とみなされる列の名前。

method

String

サポートされているクラスタリング・アルゴリズムの1つ。 使用可能な値: KMEANS, DBSCAN, AGGLOMERATIVE.

scale

Boolean

(オプション - default=true) trueの場合、機能列のすべての値がスケーリングされます。

result_table

String

(オプション) - 指定すると、結果はこの表に格納されます。

key_column

String

(オプション) - 入力表の列で、この操作の結果と入力表の行を関連付けるために使用されます。 指定しない場合、ROWNUMは表から使用されます。

weights

空間加重のロケーションJSONタイプ

(オプション) - 既存の空間加重オブジェクト。 現在の空間表のジオメトリに対して以前に計算されたものです。 指定しない場合は、weights_defを指定する必要があります。

weights_def

空間加重定義JSONタイプ

(オプション) - 計算する空間ウェイトのタイプを指定します。 指定しない場合は、重みを指定する必要があります。

save_weights_as

データストア保存仕様JSONタイプ

(オプション) - 計算された空間重みをデータストアに格納する方法を指定します。 weights_defが指定されている場合にのみ使用されます。

geometry_as_feature

Boolean

(Optional, default=false) - trueで、空間重みまたは空間重み定義が指定されていない場合、空間列はクラスタリングの機能として使用されます。

spatial_col

String

(オプション) - リージョン化の実行時に空間重みが計算される空間列の名前。または、geometry_as_featureがtrueに設定されている場合はクラスタ化機能として使用される空間列の名前。それ以外の場合は無視されます。 表に1つの空間列のみが含まれている場合は、この値を指定する必要はありません。

crs

文字列または数値

(オプション) - 空間列の行列に関連付けられた空間積分システム。 EPSG:4326やWKT文字列などの権限文字列をSRID番号として指定できます。

plot

JSONタイプのプロット

(オプション) - 指定すると、クラスタリング結果がプロットされ、イメージが返されます。

次のパラメータは、クラスタ化アルゴリズムに固有です。

KMEANSパラメータ

パラメータ

タイプ

説明

n_clusters

数値

(オプション) - 形成するクラスタの数、および生成する重心の数。 Elbow initメソッドが指定されていない場合に使用されます。

init

String

(Optional, default=k-means++) - クラスタ初期化の方法。 正の値: k-means++, random.

n_init

数値

(Optional, default=10) - k-meansが異なる重心種で走る回数。

max_iter

数値

(Optional, default=300) - 1回の実行に対するk-meansアルゴリズムの最大反復数。

tol

Float

(Optional, default=1e-4) - 収束を宣言する2つの連続反復のクラスタ・センターにおける差のFrobeniusノルムに関する相対許容範囲

random_state

数値

(オプション) - 重心初期化の乱数生成を決定します。 intを使用してランダム性を決定します。

algorithm

String

(Optional, default=auto) - 使用するK-meansアルゴリズム。 古典的なEMスタイルは「フル」です。 「エルカン」のバリエーションは、三角形の不等式を使用して、明確に定義されたクラスタを持つデータに対してより効率的です。 ただし、シェイプの追加配列(n_samples、n_clusters)の割当てにより、メモリーが集中します。 使用可能な値: auto, full, elkan.

init_method

String

(Optional, default=elbow) - 使用可能な値は、肘、シルエット、gmeansです。

DBSCANパラメータ

パラメータ

タイプ

説明

eps

Float

(オプション) - 2つのサンプル間の最大距離。1つのサンプルは、もう一方のサンプルの近傍と見なされます。 epsがNoneの場合、K距離法を使用してepsの最適値を推定します。

min_samples

数値

(オプション) - コア・ポイントと見なされるポイントの近傍のサンプルの数。 min_samplesがNoneの場合、データ内の機能の数を使用して推定されます。

metric

String

(Optional, default=euclidean) - フィーチャ配列のインスタンス間の距離を計算するために使用されるメトリック。 可能な値は、cityblock、cosine、euclidean、haversine、manhattanです。

algorithm

String

(Optional, default=auto) - NearestNeighborsモジュールがポイント単位の距離をコンピュートし、最も近い近傍を見つけるために使用するアルゴリズム。 使用可能な値: auto, ball_tree, kd_tree, brute.

leaf_size

数値

(Optional, default=30) - BallTreeまたはcKDTreeに渡されるリーフ・サイズ。 これは、構築と問合せの速度、およびツリーの格納に必要なメモリーに影響を与える可能性があります。 最適な値は問題の性質によって異なります。

p

Float

(オプション) - 点間の距離の計算に使用されるMinkowskiメトリックの力。 Noneの場合は、p=2 (ユークリッド距離と同等)。

algorithm

String

(Optional, default=auto) - 使用するK-meansアルゴリズム。 古典的なEMスタイルは「フル」です。 「エルカン」のバリエーションは、三角形の不等式を使用して、明確に定義されたクラスタを持つデータに対してより効率的です。 ただし、シェイプの追加配列(n_samples、n_clusters)の割当てにより、メモリーが集中します。 使用可能な値: auto, full, elkan.

init_method

Boolean

(Optional, default=true) - trueの場合、空間重みマトリックスを距離として使用します。 falseの場合、すべてのネイバーまでの距離をゼロに設定

AGGLOMERATIVEパラメータ

パラメータ

タイプ

説明

n_clusters

数値

(Optional, default=2) - 形成するクラスタの数。

アフィニティ

String

(オプション、default=euclidean)観測間の距離を計算するときに使用するメトリック。 可能な値は、cityblock、cosine、euclidean、haversine、manhattanです。

linkage

String

(Optional, default=ward) - 使用する距離を決定します。 このアルゴリズムは、この基準を最小限に抑えるクラスタのペアをマージします。 | * ward: クラスタの差異を最小化します。| *平均: 2つのクラスタの各観測距離の平均を使用します。| * complete: 2つのクラスタのすべての観測間の最大距離を使用します。| *単一: 2つのクラスタのすべての観測間の最小距離を使用

distance_threshold

Float

(オプション)リンケージ距離しきい値。 指定する場合は、n_clustersを指定しないでください。

戻り値

入力表から各行に割り当てられたラベルを含む結果セット。

オプションで、印刷イメージを返すことができます。

FIELD

タイプ

key_columnパラメータの値、またはkey_columnパラメータが指定されていない場合は'id'

key_columnで参照される列の型によって異なります

label

数値

JSONタイプ

RESTおよびSQL関数で使用されるJSON型を次に示します。

空間加重定義

計算する空間ウェイトを示します。

フィールド:

  • type: 次のいずれかの値を含めることができます: KNN, DistanceBand, Kernel, Queen, Rook.

  • [swdef_type_fields]: 同等のSpatialWeightsDefinitionクラスのプロパティ。 使用されるフィールドは、同等のpythonクラスのコンストラクタによって取得されるパラメータと同じです。

例:

{
    "type": "KNN",
    "k": 5
}
{
    "type": "DistanceBand",
    "threshold": 2000.0
}
{
    "type": "Queen"
}

データストア保存仕様

オブジェクトをOMLデータストアに保存する方法を指定します。

フィールド:

  • ds_name: オブジェクトが保存されるデータストアの名前

  • obj_name: オブジェクトの保存に使用する名前

  • append: trueの場合、オブジェクトはデータストアに追加されます

  • overwrite: 同じ名前のオブジェクトが存在し、それがtrueの場合、オブジェクトは上書きされます。 そうしないと、操作は失敗します。

例:

{
    "ds_name": "datastore1",
    "obj_name": "my_ob1",
    "append": true,
    "overwrite_obj": false
}

データストア・オブジェクトのロケーション

データストア内のオブジェクトのロケーションを指定

フィールド:

  • ds_name: 既存のデータストアの名前

  • obj_name: データストア内のオブジェクトの名前

例:

{
    "ds_name": "datastore1",
    "obj_name": "my_obj1"
}

クラスタ・プロット・パラメータ

クラスタリング結果のプロットに使用されるパラメータが含まれます。 そのより単純な形式では空にすることができ、OML制御パラメータoml_graphics_flagがtrueに設定されているかぎり、プロットが生成されます。

フィールド:

  • width: イメージの幅

  • height: イメージの高さ

  • title: プロットのタイトル

  • with_noise: (default=false) trueとDBSCANを使用すると、ノイズ・ポイントが表示されます。

  • with bounds: (default=false) trueの場合、クラスタはポリゴンとして描画されます。

  • with_basemap: (default=false) trueの場合、ベース・マップがバックグラウンドに追加されます。

  • with_legend: (default=true) trueの場合、クラスタ・ラベルのある凡例がプロットに追加されます。

例:

{
    "width": 20,
    "height": 15,
    "title": "Clusters",
    "with_noise": true,
    "with_bounds": false,
    "with_basemap": true,
    "with_legend": true
}