OML Embedded Python ExecutionのUDF
PythonからのUDFの登録
|
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 |
計算する空間ウェイトのタイプを指定します。 |
|
save_weights_as |
計算された空間重みをデータストアに格納する方法を指定します。 |
|
spatial_col |
String |
(オプション) - 空間加重が計算される空間列の名前。 表に1つの空間列のみが含まれている場合は、この値を指定する必要はありません。 |
crs |
文字列または数値 |
(オプション) - 空間列の行列に関連付けられた空間積分システム。 EPSG:4326やWKT文字列などの権限文字列をSRID番号として指定できます。 |
関数compute_global_spatial_autocorrelation
指定された空間表および列のMoran I索引を計算します。 次の統計を返します: I、予想I、p値、z値
パラメータ |
タイプ |
説明 |
---|---|---|
table |
String |
データベース表の名前。 |
column |
String |
空間自動相関を計算する列の名前。 |
weights |
(オプション) - 既存の空間加重オブジェクト。 現在の空間表のジオメトリに対して以前に計算されたものです。 指定しない場合は、weights_defを指定する必要があります。 |
|
weights_def |
(オプション) - 計算する空間ウェイトのタイプを指定します。 指定しない場合は、重みを指定する必要があります。 |
|
save_weights_as |
(オプション) - 計算された空間重みをデータストアに格納する方法を指定します。 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 |
(オプション) - 既存の空間加重オブジェクト。 現在の空間表のジオメトリに対して以前に計算されたものです。 指定しない場合は、weights_defを指定する必要があります。 |
|
weights_def |
(オプション) - 計算する空間ウェイトのタイプを指定します。 指定しない場合は、重みを指定する必要があります。 |
|
save_weights_as |
(オプション) - 計算された空間重みをデータストアに格納する方法を指定します。 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 |
(オプション) - 既存の空間加重オブジェクト。 現在の空間表のジオメトリに対して以前に計算されたものです。 指定しない場合は、weights_defを指定する必要があります。 |
|
weights_def |
(オプション) - 計算する空間ウェイトのタイプを指定します。 指定しない場合は、重みを指定する必要があります。 |
|
save_weights_as |
(オプション) - 計算された空間重みをデータストアに格納する方法を指定します。 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 |
(オプション) - 既存の空間加重オブジェクト。 現在の空間表のジオメトリに対して以前に計算されたものです。 指定しない場合は、weights_defを指定する必要があります。 |
|
weights_def |
(オプション) - 計算する空間ウェイトのタイプを指定します。 指定しない場合は、重みを指定する必要があります。 |
|
save_weights_as |
(オプション) - 計算された空間重みをデータストアに格納する方法を指定します。 weights_defが指定されている場合にのみ使用されます。 |
|
geometry_as_feature |
Boolean |
(Optional, default=false) - trueで、空間重みまたは空間重み定義が指定されていない場合、空間列はクラスタリングの機能として使用されます。 |
spatial_col |
String |
(オプション) - リージョン化の実行時に空間重みが計算される空間列の名前。または、geometry_as_featureがtrueに設定されている場合はクラスタ化機能として使用される空間列の名前。それ以外の場合は無視されます。 表に1つの空間列のみが含まれている場合は、この値を指定する必要はありません。 |
crs |
文字列または数値 |
(オプション) - 空間列の行列に関連付けられた空間積分システム。 EPSG:4326やWKT文字列などの権限文字列をSRID番号として指定できます。 |
plot |
(オプション) - 指定すると、クラスタリング結果がプロットされ、イメージが返されます。 |
次のパラメータは、クラスタ化アルゴリズムに固有です。
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の場合は、 |
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クラスのコンストラクタによって取得されるパラメータと同じです。
KNNフィールド:
oraclesai.weights.KNNWeightsDefinition
を参照してくださいDistanceBandフィールド:
oraclesai.weights.DistanceBandWeightsDefinition
を参照してくださいカーネル・フィールド:
oraclesai.weights.KernelBasedWeightsDefinition
を参照してくださいクイーン・フィールド:
oraclesai.weights.QueenWeightsDefinition
を参照してくださいルーク・フィールド:
oraclesai.weights.RookWeightsDefinition
を参照してください
例:
{
"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
}