すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:IForest 異常検知

最終更新日:Mar 11, 2026

IForest 異常検知コンポーネントは、サブサンプリングアルゴリズムを使用してデータ内の異常点を識別します。このメソッドは異常検知に非常に効果的であり、計算の複雑さを軽減します。このトピックでは、IForest 異常検知コンポーネントのパラメーター設定について説明します。

コンポーネントの構成

IForest 異常検知コンポーネントのパラメーターは、次のいずれかの方法で設定できます。

方法 1:Designer UI の使用

Designer のワークフローページでコンポーネントのパラメーターを設定します。

タブ

パラメーター名

説明

[フィールド設定]

機能列

[ベクター列] または [テンソル列] パラメーターを設定した場合、このパラメーターは設定できません。

トレーニングに使用される特徴列。

説明

[特徴列][テンソル列][ベクター列] パラメーターは相互排他的です。これらのパラメーターのうち 1 つだけを使用して、アルゴリズムの入力特徴量を指定できます。

グループ列

データのグループ化に使用される列。

Tensor 列

[ベクター列] または [特徴列] パラメーターを設定した場合、このパラメーターは設定できません。

テンソル列の名前。

説明

[特徴列][テンソル列][ベクター列] パラメーターは相互排他的です。これらのパラメーターのうち 1 つだけを使用して、アルゴリズムの入力特徴量を指定できます。

ベクトル列

[テンソル列] または [特徴列] パラメーターを設定した場合、このパラメーターは設定できません。

ベクター列の名前。

説明

[特徴列][テンソル列][ベクター列] パラメーターは相互排他的です。これらのパラメーターのうち 1 つだけを使用して、アルゴリズムの入力特徴量を指定できます。

[パラメーター設定]

[予測結果列]

予測結果列の名前。

[グループごとの最大外れ値数]

各グループで検出する外れ値の最大数。

外れ値の最大比率

アルゴリズムが検出できる外れ値の最大比率。

[グループごとの最大サンプル数]

各グループの最大サンプル数。

[モデル内のツリー数]

モデル内のツリー数。デフォルト値は 100 です。

[外れ値スコアのしきい値]

データポイントのスコアがこのしきい値より大きい場合、そのデータポイントは外れ値として識別されます。

[予測詳細列]

予測詳細を格納する列の名前。

[ツリーごとのサンプリング行数]

各ツリーでサンプリングする行数。このパラメーターは正の整数である必要があります。値の範囲は [2, 100000] です。デフォルト値は 256 です。

[スレッド数]

コンポーネントのスレッド数。デフォルト値は 1 です。

[実行チューニング]

[ワーカー数]

ワーカー数。このパラメーターは [ワーカーごとのメモリ] パラメーターとともに使用されます。値は [1, 9999] の範囲の正の整数である必要があります。

[ワーカーごとのメモリ (MB)]

各ワーカーのメモリサイズ (MB)。値は [1024, 65536] の範囲の正の整数である必要があります。

方法 2:Python コードの使用

PyAlink スクリプトコンポーネントを使用して、コンポーネントのパラメーターを設定できます。このコンポーネントを使用すると、Python コードを呼び出すことができます。詳細については、「PyAlink スクリプト」をご参照ください。

パラメーター名

必須

説明

デフォルト値

predictionCol

はい

予測結果列の名前。

N/A

featureCols

いいえ

特徴列の名前。このパラメーターは配列です。

すべて選択

groupCols

いいえ

グループ列の名前。複数の列がサポートされています。

なし

maxOutlierNumPerGroup

いいえ

各グループの外れ値の最大数。

なし

maxOutlierRatio

いいえ

アルゴリズムが検出できる外れ値の最大比率。

なし

maxSampleNumPerGroup

いいえ

各グループの最大サンプル数。

なし

numTrees

いいえ

モデル内のツリー数。

100

outlierThreshold

いいえ

データポイントのスコアがこのしきい値より大きい場合、そのデータポイントは外れ値として識別されます。

なし

predictionDetailCol

はい

予測詳細を含む列の名前。

N/A

tensorCol

いいえ

テンソル列。

なし

vectorCol

いいえ

ベクター列の名前。

なし

subsamplingSize

いいえ

各ツリーでサンプリングされる行数。正の整数である必要があります。有効値:[2, 100000]。

256

numThreads

いいえ

コンポーネントのスレッド数。

1

次のコードに例を示します。

from pyalink.alink import *
import pandas as pd
df = pd.DataFrame([
[0.73, 0],
[0.24, 0],
[0.63, 0],
[0.55, 0],
[0.73, 0],
[0.41, 0]
])

dataOp = BatchOperator.fromDataframe(df, schemaStr='val double, label int')

outlierOp = IForestOutlierBatchOp()\
    .setFeatureCols(["val"])\
    .setOutlierThreshold(3.0)\
    .setPredictionCol("pred")\
    .setPredictionDetailCol("pred_detail")

outlierOp.print()