全部產品
Search
文件中心

Platform For AI:局部異常因子異常檢測

更新時間:Jul 13, 2024

局部異常因子異常檢測根據資料樣本的局部異常因子值(Local Outlier Factor, LOF)判斷樣本是否異常。本文為您介紹局部異常因子異常檢測的參數配置。

使用限制

支援啟動並執行計算資源為MaxCompute。

組件配置

您可以通過以下任意一種方式,配置局部異常因子異常檢測參數。

方式一:可視化方式

Designer工作流程頁面配置組件參數。

頁簽

參數名稱

描述

欄位設定

特徵列名數組

特徵列名的數組。

分組列名數組

分組列名的數組。

tensor列

tensor列。

向量列名

向量列對應的列名。

參數設定

預測結果列名

預測結果列的列名。

距離度量方式

聚類使用的距離類型,預設為EUCLIDEAN。取值如下:

  • EUCLIDEAN

  • COSINE

  • INNERPRODUCT

  • CITYBLOCK

  • JACCARD

  • PEARSON

每組最大異常點數目

每組最大的異常點數目。

最大異常點比例

演算法檢測異常點的最大比例。

每組最大樣本數目

每組最大的樣本數目。

相鄰點個數

構造近鄰圖使用的相鄰點個數,預設為5。

異常評分閾值

當評分大於該閾值時,判定為異常點。

預測詳細資料列名

預測詳細資料列的列名。

組件多線程線程個數

組件多線程的線程個數,預設為1。

執行調優

節點個數

節點個數,與參數單個節點記憶體大小配對使用,正整數。範圍[1, 9999]。

單個節點記憶體大小,單位M

單個節點記憶體大小,單位MB,正整數。範圍[1024, 64*1024]。

方式二:Python代碼方式

使用PyAlink指令碼組件配置該組件參數。您可以使用PyAlink指令碼組件進行Python代碼調用,詳情請參見PyAlink指令碼。

參數名稱

是否必選

描述

預設值

predictionCol

預測結果列的列名。

distanceType

聚類使用的距離類型,取值如下:

  • EUCLIDEAN

  • COSINE

  • INNERPRODUCT

  • CITYBLOCK

  • JACCARD

  • PEARSON

EUCLIDEAN

featureCols

特徵列名數組。

全選

groupCols

分組列名,支援多列。

maxOutlierNumPerGroup

每組最大的異常點數目。

maxOutlierRatio

演算法檢測異常點的最大比例。

maxSampleNumPerGroup

每組最大的樣本數目。

outlierThreshold

當評分大於該閾值時,判定為異常點。

predictionDetailCol

預測詳細資料列的列名。

tensorCol

tensor列。

vectorCol

向量列對應的列名。

numNeighbors

構造近鄰圖使用的相鄰點個數。

5

numThreads

組件多線程的線程個數。

1

Python代碼方式的使用樣本如下。

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 = LofOutlierBatchOp()\
    .setFeatureCols(["val"])\
    .setOutlierThreshold(3.0)\
    .setPredictionCol("pred")\
    .setPredictionDetailCol("pred_detail")

evalOp = EvalOutlierBatchOp()\
    .setLabelCol("label")\
    .setPredictionDetailCol("pred_detail")\
    .setOutlierValueStrings(["1"])

metrics = dataOp\
    .link(outlierOp)\
    .link(evalOp)\
    .collectMetrics()

print(metrics)