Komponen Deteksi Anomali IForest mengidentifikasi titik data tidak normal dalam dataset menggunakan algoritma subsampling. Metode ini sangat efektif untuk deteksi anomali dan mengurangi kompleksitas komputasi. Topik ini menjelaskan pengaturan parameter untuk komponen Deteksi Anomali IForest.
Konfigurasi komponen
Anda dapat mengonfigurasi parameter Deteksi Anomali IForest dengan salah satu cara berikut.
Metode 1: Gunakan UI Designer
Konfigurasikan parameter komponen pada halaman alur kerja di Designer.
|
Tab |
Parameter Name |
Description |
|
Fields Setting |
Feature Columns |
Anda tidak dapat mengonfigurasi parameter ini jika telah mengonfigurasi parameter Vector Column atau Tensor Column. Kolom fitur yang digunakan untuk pelatihan. Catatan
Parameter Feature Columns, Tensor Column, dan Vector Column bersifat saling eksklusif. Anda hanya dapat menggunakan salah satu dari parameter tersebut untuk menentukan input fitur bagi algoritma. |
|
Group Columns |
Kolom yang digunakan untuk mengelompokkan data. |
|
|
Tensor Column |
Anda tidak dapat mengonfigurasi parameter ini jika telah mengonfigurasi parameter Vector Column atau Feature Columns. Nama kolom tensor. Catatan
Parameter Feature Columns, Tensor Column, dan Vector Column bersifat saling eksklusif. Anda hanya dapat menggunakan salah satu dari parameter tersebut untuk menentukan input fitur bagi algoritma. |
|
|
Vector Column |
Anda tidak dapat mengonfigurasi parameter ini jika telah mengonfigurasi parameter Tensor Column atau Feature Columns. Nama kolom vektor. Catatan
Parameter Feature Columns, Tensor Column, dan Vector Column bersifat saling eksklusif. Anda hanya dapat menggunakan salah satu dari parameter tersebut untuk menentukan input fitur bagi algoritma. |
|
|
Parameter Settings |
Prediction Result Column |
Nama kolom hasil prediksi. |
|
Maximum Number of Outliers per Group |
Jumlah maksimum outlier yang akan dideteksi dalam setiap kelompok. |
|
|
Maximum Ratio of Outliers |
Rasio maksimum outlier yang dapat dideteksi oleh algoritma. |
|
|
Maximum Number of Samples per Group |
Jumlah maksimum sampel dalam setiap kelompok. |
|
|
Number of Trees in the Model |
Jumlah pohon dalam model. Nilai default-nya adalah 100. |
|
|
Outlier Score Threshold |
Sebuah titik data diidentifikasi sebagai outlier jika skornya lebih besar daripada ambang batas ini. |
|
|
Prediction Details Column |
Nama kolom yang menyimpan detail prediksi. |
|
|
Number of Rows Sampled per Tree |
Jumlah baris yang diambil sampelnya untuk setiap pohon. Parameter ini harus berupa bilangan bulat positif. Nilainya harus berada dalam rentang [2, 100000]. Nilai default-nya adalah 256. |
|
|
Number of Threads |
Jumlah thread untuk komponen ini. Nilai default-nya adalah 1. |
|
|
Execution Tuning |
Number of Workers |
Jumlah worker. Parameter ini digunakan bersama parameter Memory per Worker. Nilainya harus berupa bilangan bulat positif dalam rentang [1, 9999]. |
|
Memory per Worker (MB) |
Ukuran memori setiap worker, dalam MB. Nilainya harus berupa bilangan bulat positif dalam rentang [1024, 65536]. |
Metode 2: Gunakan kode Python
Anda dapat mengonfigurasi parameter komponen menggunakan komponen PyAlink Script. Komponen ini memungkinkan Anda memanggil kode Python. Untuk informasi selengkapnya, lihat PyAlink Script.
|
Parameter Name |
Required |
Description |
Default value |
|
predictionCol |
Yes |
Nama kolom hasil prediksi. |
N/A |
|
featureCols |
No |
Nama-nama kolom fitur. Parameter ini berupa array. |
Select All |
|
groupCols |
No |
Nama-nama kolom grup. Mendukung beberapa kolom. |
None |
|
maxOutlierNumPerGroup |
No |
Jumlah maksimum outlier dalam setiap kelompok. |
None |
|
maxOutlierRatio |
No |
Rasio maksimum outlier yang dapat dideteksi oleh algoritma. |
None |
|
maxSampleNumPerGroup |
No |
Jumlah maksimum sampel dalam setiap kelompok. |
None |
|
numTrees |
No |
Jumlah pohon dalam model. |
100 |
|
outlierThreshold |
No |
Sebuah titik data diidentifikasi sebagai outlier jika skornya lebih besar daripada ambang batas ini. |
None |
|
predictionDetailCol |
Yes |
Nama kolom yang berisi detail prediksi. |
N/A |
|
tensorCol |
No |
Kolom tensor. |
None |
|
vectorCol |
No |
Nama kolom vektor. |
None |
|
subsamplingSize |
No |
Jumlah baris yang diambil sampelnya untuk setiap pohon. Harus berupa bilangan bulat positif. Nilai valid: [2, 100000]. |
256 |
|
numThreads |
No |
Jumlah thread untuk komponen ini. |
1 |
Kode berikut memberikan contoh.
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()