全部产品
Search
文档中心

Platform For AI:One-Class SVM Pencilan

更新时间:Jun 22, 2025

One-Class Support Vector Machine (SVM) adalah algoritma pembelajaran mesin tanpa pengawasan yang berbeda dari algoritma SVM tradisional. Komponen One-Class SVM Outlier dapat digunakan untuk mendeteksi pencilan dengan mempelajari batas keputusan. Topik ini menjelaskan cara mengonfigurasi Komponen One-Class SVM Outlier di Platform for AI (PAI).

Batasan

Komponen One-Class SVM Outlier hanya dapat digunakan berdasarkan sumber daya komputasi MaxCompute.

Konfigurasi komponen

Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi parameter Komponen One-Class SVM Outlier:

Metode 1: Konfigurasikan komponen di konsol PAI

Konfigurasikan komponen pada halaman pipeline Machine Learning Designer. Tabel berikut menjelaskan parameter tersebut.

Tab

Parameter

Deskripsi

Field Setting

featureCols

Sebuah larik nama kolom fitur.

groupCols

Sebuah larik nama kolom grup.

tensorCol

Kolom tensor.

vectorCol

Nama kolom vektor.

Parameter Setting

Prediction Result Column

Nama kolom hasil prediksi.

coef0

Parameter coef0 dari fungsi kernel. Nilai default: 0,0.

null

Parameter ini hanya berlaku jika tipe fungsi kernel adalah polinomial atau sigmoid.

degree

Degree polinomial.

epsilon

Nilai yang ingin Anda peroleh dari hasil pelatihan sebelum iterasi berhenti. Nilai default: 1,0E-6.

gamma

Parameter gamma dari fungsi kernel. Nilai default: -1,0.

null

Parameter ini hanya berlaku jika tipe fungsi kernel adalah RBF, polinomial, atau sigmoid. Jika Anda tidak mengonfigurasi parameter ini, nilai default 1/dimensi data digunakan.

kernelType

Tipe fungsi kernel. Nilai valid:

  • RBF

  • POLY

  • SIGMOID

  • LINEAR

maxOutlierNumPerGroup

Jumlah maksimum pencilan per grup.

maxOutlierRatio

Rasio maksimum pencilan yang dideteksi oleh algoritma.

maxSampleNumPerGroup

Jumlah maksimum sampel per grup.

nu

Parameter nu dari fungsi kernel. Parameter ini berkorelasi positif dengan jumlah vektor pendukung. Nilai valid: (0,1). Nilai default: 0,01.

outlierThreshold

Jika skor melebihi ambang batas yang ditentukan, titik data dianggap sebagai titik anomali.

Column name of detail prediction information

Nama kolom detail prediksi.

numThreads

Jumlah thread komponen.

Execute Tuning

Number of Workers

Jumlah node worker. Nilainya harus bilangan bulat positif. Parameter ini harus digunakan bersama dengan parameter Memory per worker. Nilai valid: 1 hingga 9999.

Memory per worker

Ukuran memori setiap node worker. Unit: MB. Nilainya harus bilangan bulat positif. Anda harus menentukan nilai dari 1024 hingga 65536.

Metode 2: Konfigurasikan komponen menggunakan kode Python

Anda dapat mengonfigurasi Komponen One-Class SVM Outlier menggunakan komponen PyAlink Script untuk memanggil kode Python. Untuk informasi lebih lanjut, lihat skrip PyAlink.

Parameter

Wajib

Deskripsi

Nilai default

predictionCol

Ya

Nama kolom hasil prediksi.

N/A

degree

Tidak

Degree polinomial.

2

epsilon

Tidak

Nilai yang ingin Anda peroleh dari hasil pelatihan sebelum iterasi berhenti.

1,0E-6

featureCols

Tidak

Sebuah larik nama kolom fitur.

Pilih Semua

groupCols

Tidak

Larik nama kolom grup.

N/A

maxOutlierNumPerGroup

Tidak

Jumlah maksimum pencilan per grup.

N/A

maxOutlierRatio

Tidak

Rasio maksimum pencilan yang dideteksi oleh algoritma.

N/A

maxSampleNumPerGroup

Tidak

Jumlah maksimum sampel per grup.

N/A

outlierThreshold

Tidak

Jika skor melebihi ambang batas yang ditentukan, titik data dianggap sebagai titik anomali.

N/A

predictionDetailCol

Tidak

Nama kolom detail prediksi.

N/A

tensorCol

Tidak

Nama kolom tensor.

N/A

vectorCol

Tidak

Nama kolom vektor.

N/A

kernelType

Tidak

Tipe fungsi kernel. Nilai valid:

  • RBF

  • POLY

  • SIGMOID

  • LINEAR

RBF

coef0

Tidak

Parameter coef0 dari fungsi kernel.

null

Parameter ini hanya berlaku jika tipe fungsi kernel adalah polinomial atau sigmoid.

0,0

gamma

Tidak

Parameter gamma dari fungsi kernel.

null

Parameter ini hanya berlaku jika tipe fungsi kernel adalah RBF, polinomial, atau sigmoid. Jika Anda tidak mengonfigurasi parameter ini, nilai default 1/dimensi data digunakan.

-1,0

nu

Tidak

Parameter nu dari fungsi kernel. Parameter ini berkorelasi positif dengan jumlah vektor pendukung. Nilai valid: (0,1).

0,01

numThreads

Tidak

Jumlah thread komponen.

1

Contoh kode Python:

df = pd.DataFrame([
[0.730967787376657,0.24053641567148587,0.6374174253501083,0.5504370051176339],
[0.7308781907032909,0.41008081149220166,0.20771484130971707,0.3327170559595112],
[0.7311469360199058,0.9014476240300544,0.49682259343089075,0.9858769332362016],
[0.731057369148862,0.07099203475193139,0.06712000939049956,0.768156984078079],
[0.7306094602878371,0.9187140138555101,0.9186071189908658,0.6795571637816596],
[0.730519863614471,0.08825840967622589,0.4889045498516358,0.461837214623537],
[0.7307886238322471,0.5796252073129174,0.7780122870716483,0.11499709190022733],
[0.7306990420600421,0.7491696031336331,0.34830970303125697,0.8972771427421047]])

# muat data
data = BatchOperator.fromDataframe(df, schemaStr="x1 double, x2 double, x3 double, x4 double")

OcsvmOutlierBatchOp() \
            .setFeatureCols(["x1", "x2", "x3", "x4"]) \
            .setGamma(0.5) \
            .setNu(0.1) \
            .setKernelType("RBF") \
            .setPredictionCol("pred").linkFrom(data).print()