全部产品
Search
文档中心

Platform For AI:Pelatihan Klasifikasi Biner PS-SMART

更新时间:Jul 06, 2025

Server parameter (PS) digunakan untuk memproses tugas pelatihan offline dan online dalam skala besar. SMART adalah singkatan dari scalable multiple additive regression tree. PS-SMART adalah algoritma iterasi yang diimplementasikan menggunakan Pohon Keputusan Peningkatan Gradien (GBDT) berbasis PS. Komponen Pelatihan Klasifikasi Biner PS-SMART mendukung tugas pelatihan dengan puluhan miliar sampel dan ratusan ribu fitur, serta dapat menjalankan tugas pada ribuan node. Komponen ini juga mendukung berbagai format data dan teknologi optimisasi seperti pendekatan berbasis histogram.

Batasan

Komponen ini hanya dapat digunakan dengan sumber daya komputasi MaxCompute.

Catatan Penggunaan

  • Hanya kolom dengan tipe data numerik yang dapat digunakan oleh komponen Pelatihan Klasifikasi Biner PS-SMART. Nilai 0 menunjukkan contoh negatif, sedangkan nilai 1 menunjukkan contoh positif. Jika tipe data dalam tabel MaxCompute adalah STRING, konversikan terlebih dahulu ke tipe numerik. Contohnya, ubah Baik/Buruk menjadi 1/0.

  • Jika data dalam format pasangan kunci-nilai, ID fitur harus bilangan bulat positif, dan nilai fitur harus bilangan real. Untuk ID fitur bertipe STRING, gunakan komponen serialisasi untuk melakukan serialisasi data. Untuk nilai fitur bertipe string kategorikal, lakukan rekayasa fitur seperti diskretisasi untuk memproses nilai tersebut.

  • Komponen Pelatihan Klasifikasi Biner PS-SMART mendukung tugas dengan hingga ratusan ribu fitur. Namun, tugas-tugas ini intensif sumber daya dan membutuhkan waktu lama. Untuk mengatasi masalah ini, gunakan algoritma GBDT untuk melatih model, yang cocok untuk skenario dengan fitur kontinu. Lakukan one-hot encoding pada fitur kategorikal untuk menyaring fitur dengan frekuensi rendah. Hindari diskretisasi pada fitur kontinu bertipe numerik.

  • Algoritma PS-SMART dapat memperkenalkan keacakan, misalnya dalam pengambilan sampel data dan fitur berdasarkan data_sample_ratio dan fea_sample_ratio, optimisasi menggunakan histogram, atau penggabungan sketsa lokal ke dalam sketsa global. Struktur pohon dapat berbeda ketika tugas dijalankan secara terdistribusi, tetapi efek pelatihan model secara teori tetap sama. Dengan data dan parameter yang sama, hasil pelatihan dapat bervariasi, dan hal ini normal.

  • Untuk mempercepat pelatihan, tingkatkan nilai parameter Cores. Algoritma PS-SMART mulai menjalankan tugas setelah sumber daya yang diperlukan tersedia. Semakin banyak sumber daya yang diminta, semakin lama waktu yang dibutuhkan untuk menunggu.

Konfigurasikan komponen

Gunakan salah satu metode berikut untuk mengonfigurasi komponen.

Metode 1: Gunakan konsol

Konfigurasikan parameter komponen di Machine Learning Designer. Tabel berikut menjelaskan parameter tersebut.

Tab

Parameter

Deskripsi

Fields Setting

Use Sparse Format

Menentukan apakah data input bersifat sparse. Jika data input adalah data sparse dalam format pasangan kunci-nilai, pisahkan pasangan kunci-nilai dengan spasi, dan pisahkan kunci dan nilai dengan titik dua (:). Contoh: 1:0.3 3:0.9.

Feature Columns

Pilih kolom fitur untuk pelatihan dari tabel input. Jika data dalam tabel input padat, hanya kolom dengan tipe BIGINT dan DOUBLE yang didukung. Jika data dalam tabel input adalah pasangan kunci-nilai sparse dan kunci serta nilai adalah tipe data numerik, hanya kolom dengan tipe STRING yang didukung.

Label Column

Pilih kolom label dari tabel input. Kolom dengan tipe STRING dan tipe data numerik didukung. Data yang terkandung dalam kolom harus berupa tipe data numerik, seperti 0 dan 1 yang digunakan dalam klasifikasi biner.

Weight Column

Pilih kolom yang berisi bobot setiap baris sampel. Kolom dengan tipe data numerik didukung.

Parameters Setting

Evaluation Indicator Type

Pilih jenis metrik evaluasi dari set pelatihan. Nilai valid:

  • negative loglikelihood for logistic regression

  • binary classification error

  • Area under curve for classification

Trees

Masukkan jumlah pohon. Nilai parameter ini harus berupa bilangan bulat. number of trees sebanding dengan jumlah waktu pelatihan.

Maximum Tree Depth

Masukkan kedalaman maksimum pohon. Nilai default adalah 5, yang menunjukkan bahwa maksimal 16 simpul daun dapat dikonfigurasi. Nilai parameter ini harus berupa bilangan bulat positif.

Data Sampling Fraction

Masukkan rasio pengambilan sampel data saat pohon dibangun. Data sampel digunakan untuk membangun pembelajar lemah untuk mempercepat pelatihan.

Feature Sampling Fraction

Masukkan rasio pengambilan sampel fitur saat pohon dibangun. Fitur sampel digunakan untuk membangun pembelajar lemah untuk mempercepat pelatihan.

L1 Penalty Coefficient

Kontrol ukuran simpul daun. Nilai yang lebih besar menghasilkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

L2 Penalty Coefficient

Kontrol ukuran simpul daun. Nilai yang lebih besar menghasilkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

Learning Rate

Masukkan tingkat pembelajaran. Nilai valid: (0,1).

Sketch-based Approximate Precision

Masukkan ambang batas untuk memilih kuantil saat Anda membangun sketsa. Nilai yang lebih kecil menentukan bahwa lebih banyak bin dapat diperoleh. Dalam kebanyakan kasus, nilai default 0.03 digunakan.

Minimum Split Loss Change

Masukkan perubahan loss minimum yang diperlukan untuk membelah simpul. Nilai yang lebih besar menentukan bahwa pemecahan simpul lebih kecil kemungkinannya terjadi.

Features

Masukkan jumlah fitur atau ID fitur maksimum. Jika parameter ini tidak ditentukan untuk estimasi penggunaan sumber daya, sistem secara otomatis menjalankan tugas SQL untuk menghitung jumlah fitur atau ID fitur maksimum.

Global Offset

Masukkan nilai prediksi awal semua sampel.

Random Seed

Masukkan seed acak. Nilai parameter ini harus berupa bilangan bulat.

Feature Importance Type

Pilih jenis pentingnya fitur. Nilai valid:

  • Weight: menunjukkan jumlah split fitur.

  • Gain: menunjukkan peningkatan informasi yang diberikan oleh fitur. Ini adalah nilai default.

  • Cover: menunjukkan jumlah sampel yang dicakup oleh fitur pada simpul split.

Tuning

Cores

Pilih jumlah core. Secara default, sistem menentukan nilainya.

Memory Size per Core

Pilih ukuran memori setiap core. Unit: MB. Dalam kebanyakan kasus, sistem menentukan ukuran memori.

Metode 2: Gunakan perintah PAI

Konfigurasikan parameter komponen menggunakan perintah Platform for AI (PAI). Bagian berikut menjelaskan parameter tersebut. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.

# Training 
PAI -name ps_smart
    -project algo_public
    -DinputTableName="smart_binary_input"
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545859_2"
    -DoutputImportanceTableName="pai_temp_24515_545859_3"
    -DlabelColName="label"
    -DfeatureColNames="f0,f1,f2,f3,f4,f5"
    -DenableSparse="false"
    -Dobjective="binary:logistic"
    -Dmetric="error"
    -DfeatureImportanceType="gain"
    -DtreeCount="5"
    -DmaxDepth="5"
    -Dshrinkage="0.3"
    -Dl2="1.0"
    -Dl1="0"
    -Dlifecycle="3"
    -DsketchEps="0.03"
    -DsampleRatio="1.0"
    -DfeatureRatio="1.0"
    -DbaseScore="0.5"
    -DminSplitLoss="0";

# Prediction 
PAI -name prediction
    -project algo_public
    -DinputTableName="smart_binary_input"
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545860_1"
    -DfeatureColNames="f0,f1,f2,f3,f4,f5"
    -DappendColNames="label,qid,f0,f1,f2,f3,f4,f5"
    -DenableSparse="false"
    -Dlifecycle="28";

Modul

Parameter

Diperlukan

Deskripsi

Nilai Default

Parameter data

featureColNames

Ya

Kolom fitur yang dipilih dari tabel input untuk pelatihan. Jika data dalam tabel input padat, hanya kolom dengan tipe BIGINT dan DOUBLE yang didukung. Jika data dalam tabel input adalah data sparse dalam format pasangan kunci-nilai, dan keys dan values adalah tipe data numerik, hanya kolom dengan tipe data STRING yang didukung.

Tidak ada

labelColName

Ya

Kolom label dalam tabel input. Kolom dengan tipe STRING dan tipe data numerik didukung. Namun, hanya data dengan tipe data numerik yang dapat disimpan dalam kolom. Sebagai contoh, nilai kolom bisa berupa 0 atau 1 dalam klasifikasi biner.

Tidak ada

weightCol

Tidak

Kolom yang berisi bobot setiap baris sampel. Kolom dengan tipe data numerik didukung.

Tidak ada

enableSparse

Tidak

Menentukan apakah data input bersifat sparse. Nilai valid: true and false. Jika data input adalah data sparse dalam format pasangan kunci-nilai, pisahkan pasangan kunci-nilai dengan spasi, dan pisahkan kunci dan nilai dengan titik dua (:). Contoh: 1:0.3 3:0.9.

false

inputTableName

Ya

Nama tabel input.

Tidak ada

modelName

Ya

Nama model output.

Tidak ada

outputImportanceTableName

Tidak

Nama tabel yang menyediakan pentingnya fitur.

Tidak ada

inputTablePartitions

Tidak

Partisi yang dipilih dari tabel input untuk pelatihan. Format: ds=1/pt=1.

Tidak ada

outputTableName

Tidak

Tabel MaxCompute yang dihasilkan. Tabel ini adalah file biner. Tidak dapat dibaca dan hanya dapat diperoleh menggunakan komponen prediksi PS-SMART.

Tidak ada

lifecycle

Tidak

Lifecycle tabel output. Unit: hari.

3

Parameter algoritma

objective

Ya

Jenis fungsi objektif. Jika pelatihan dilakukan menggunakan komponen klasifikasi biner, atur parameter ini ke binary:logistic.

Tidak ada

metric

Tidak

Jenis metrik evaluasi dari set pelatihan, yang terkandung dalam stdout koordinator dalam LogView. Nilai valid:

  • logloss: sesuai dengan nilai Negative Loglikelihood for Logistic Regression dari parameter Jenis Indikator Evaluasi di konsol PAI.

  • error: sesuai dengan nilai Binary Classification Error dari parameter Jenis Indikator Evaluasi di konsol PAI.

  • auc: sesuai dengan nilai AUC for Classification dari parameter Jenis Indikator Evaluasi di konsol PAI.

Tidak ada

treeCount

Tidak

Jumlah pohon. Nilai ini sebanding dengan jumlah waktu pelatihan.

1

maxDepth

Tidak

Kedalaman maksimum pohon. Nilai harus berupa bilangan bulat positif. Nilai valid: 1 hingga 20.

5

sampleRatio

Tidak

Rasio pengambilan sampel data. Nilai valid: (0,1]. Jika parameter ini diatur ke 1.0, tidak ada data yang diambil sampelnya.

1.0

featureRatio

Tidak

Rasio pengambilan sampel fitur. Nilai valid: (0,1]. Jika parameter ini diatur ke 1.0, tidak ada data yang diambil sampelnya.

1.0

l1

Tidak

Koefisien penalti L1. Nilai parameter yang lebih besar menunjukkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

0

l2

Tidak

Koefisien penalti L2. Nilai parameter yang lebih besar menunjukkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

1.0

shrinkage

Tidak

Nilai valid: (0,1).

0.3

sketchEps

Tidak

Ambang batas untuk memilih kuantil saat Anda membangun sketsa. Jumlah bin adalah O(1.0/sketchEps). Nilai yang lebih kecil menentukan bahwa lebih banyak bin dapat diperoleh. Dalam kebanyakan kasus, nilai default digunakan. Nilai valid: (0,1).

0.03

minSplitLoss

Tidak

Perubahan loss minimum yang diperlukan untuk membelah simpul. Nilai yang lebih besar menentukan bahwa pemecahan simpul lebih kecil kemungkinannya terjadi.

0

featureNum

Tidak

Jumlah fitur atau ID fitur maksimum. Jika parameter ini tidak ditentukan untuk estimasi penggunaan sumber daya, sistem secara otomatis menjalankan tugas SQL untuk menghitung jumlah fitur atau ID fitur maksimum.

Tidak ada

baseScore

Tidak

Nilai prediksi awal semua sampel.

0.5

randSeed

Tidak

Seed acak. Nilai parameter ini harus berupa bilangan bulat.

Tidak ada

featureImportanceType

Tidak

Jenis pentingnya fitur. Nilai valid:

  • weight: menunjukkan jumlah split fitur.

  • gain: menunjukkan peningkatan informasi yang diberikan oleh fitur.

  • cover: menunjukkan jumlah sampel yang dicakup oleh fitur pada simpul split.

gain

Parameter penalaan

coreNum

Tidak

Jumlah core yang digunakan dalam komputasi. Nilai yang lebih besar menunjukkan algoritma komputasi berjalan lebih cepat.

Dialokasikan secara otomatis

memSizePerCore

Tidak

Ukuran memori setiap core. Unit: MB.

Dialokasikan secara otomatis

Contoh

  1. Jalankan pernyataan SQL berikut pada node ODPS SQL untuk menghasilkan data pelatihan. Contoh ini menghasilkan data pelatihan padat.

    drop table if exists smart_binary_input;
    create table smart_binary_input lifecycle 3 as
    select
    *
    from
    (
    select 0.72 as f0, 0.42 as f1, 0.55 as f2, -0.09 as f3, 1.79 as f4, -1.2 as f5, 0 as label
    union all
    select 1.23 as f0, -0.33 as f1, -1.55 as f2, 0.92 as f3, -0.04 as f4, -0.1 as f5, 1 as label
    union all
    select -0.2 as f0, -0.55 as f1, -1.28 as f2, 0.48 as f3, -1.7 as f4, 1.13 as f5, 1 as label
    union all
    select 1.24 as f0, -0.68 as f1, 1.82 as f2, 1.57 as f3, 1.18 as f4, 0.2 as f5, 0 as label
    union all
    select -0.85 as f0, 0.19 as f1, -0.06 as f2, -0.55 as f3, 0.31 as f4, 0.08 as f5, 1 as label
    union all
    select 0.58 as f0, -1.39 as f1, 0.05 as f2, 2.18 as f3, -0.02 as f4, 1.71 as f5, 0 as label
    union all
    select -0.48 as f0, 0.79 as f1, 2.52 as f2, -1.19 as f3, 0.9 as f4, -1.04 as f5, 1 as label
    union all
    select 1.02 as f0, -0.88 as f1, 0.82 as f2, 1.82 as f3, 1.55 as f4, 0.53 as f5, 0 as label
    union all
    select 1.19 as f0, -1.18 as f1, -1.1 as f2, 2.26 as f3, 1.22 as f4, 0.92 as f5, 0 as label
    union all
    select -2.78 as f0, 2.33 as f1, 1.18 as f2, -4.5 as f3, -1.31 as f4, -1.8 as f5, 1 as label
    ) tmp;

    Gambar berikut menunjukkan data pelatihan yang dihasilkan.image

  2. Buat pipeline seperti yang ditunjukkan pada gambar berikut dan jalankan komponen tersebut. Untuk informasi lebih lanjut, lihat Pemodelan Algoritma.image

    1. Di daftar komponen di sebelah kiri Machine Learning Designer, cari komponen Read Table, PS-SMART Binary Classification Training, Prediction, dan Write Table secara terpisah, lalu seret komponen-komponen tersebut ke kanvas di sebelah kanan.

    2. Hubungkan node dengan menggambar garis untuk mengatur pipeline berdasarkan hubungan upstream dan downstream sesuai gambar sebelumnya.

    3. Konfigurasikan parameter komponen.

      • Di kanvas, klik komponen Read Table-1. Pada tab Select Table di panel kanan, atur Table Name ke smart_binary_input.

      • Di kanvas, klik komponen PS-SMART Binary Classification Training-1 dan konfigurasikan parameter yang tercantum dalam tabel berikut di panel kanan. Pertahankan nilai default untuk parameter yang tidak terdaftar dalam tabel.

        Tab

        Parameter

        Deskripsi

        Fields Setting

        Feature Columns

        Pilih kolom fitur. Pilih kolom f0, f1, f2, f3, f4, dan f5.

        Label Column

        Pilih kolom label.

        Parameters Setting

        Evaluation Indicator Type

        Pilih jenis metrik evaluasi. Atur parameter ini ke AUC for Classification.

        Trees

        Atur parameter ini ke 5.

      • Di kanvas, klik komponen Prediction-1. Pada tab Field Settings di panel kanan, pilih Select All untuk Reserved Columns. Pertahankan nilai default untuk parameter lainnya.

      • Di kanvas, klik komponen Write Table-1. Pada tab Select Table di panel kanan, atur New Table Name ke smart_binary_output.

    4. Setelah konfigurasi parameter selesai, klik tombol image untuk menjalankan pipeline.

  3. Klik kanan komponen Prediction-1 dan pilih View Data > Prediction Result Output Port untuk melihat hasil prediksi. image1 di kolom prediction_detail menunjukkan contoh positif, dan 0 menunjukkan contoh negatif.

  4. Klik kanan komponen PS-SMART Binary Classification Training-1 dan pilih View Data > Output Feature Importance Table untuk melihat tabel pentingnya fitur. imageParameter:

    • id: ID fitur yang dilewatkan. Dalam contoh ini, fitur f0, f1, f2, f3, f4, dan f5 dilewatkan. Oleh karena itu, di kolom id, 0 mewakili kolom fitur f0, dan 4 mewakili kolom fitur f4. Jika data dalam tabel input adalah pasangan kunci-nilai, kolom id mencantumkan keys dalam pasangan kunci-nilai.

    • value: jenis pentingnya fitur. Nilai default parameter ini adalah gain, yang menunjukkan jumlah peningkatan informasi yang diberikan oleh fitur untuk model.

    • Tabel pentingnya fitur di atas hanya memiliki tiga fitur. Ini menunjukkan bahwa hanya tiga fitur yang digunakan untuk membelah pohon. Pentingnya fitur lainnya dapat dianggap sebagai 0.

Penyebaran Model PS-SMART

Untuk menyebarkan model yang dihasilkan oleh komponen Pelatihan Klasifikasi Biner PS-SMART ke EAS sebagai layanan online, tambahkan komponen Model export sebagai node hilir untuk komponen Pelatihan Klasifikasi Biner PS-SMART dan konfigurasikan komponen Ekspor Model. Untuk informasi lebih lanjut, lihat Ekspor Model.

Setelah komponen Ekspor Model berhasil dijalankan, Anda dapat menyebarkan model yang dihasilkan ke EAS sebagai layanan online di halaman EAS-Online Model Services. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

Referensi

  • Untuk informasi lebih lanjut tentang komponen yang disediakan oleh Machine Learning Designer, lihat Ikhtisar Machine Learning Designer.

  • Machine Learning Designer menyediakan berbagai komponen algoritma preset. Anda dapat memilih komponen untuk memproses data berdasarkan skenario bisnis aktual Anda. Untuk informasi lebih lanjut, lihat Ikhtisar Komponen Designer.