全部产品
Search
文档中心

Platform For AI:Swing Train

更新时间:Jul 02, 2025

Swing adalah algoritma recall item. Anda dapat menggunakan komponen Swing Train dari Platform for AI (PAI) untuk mengukur kesamaan item berdasarkan prinsip user-item-user. Topik ini menjelaskan cara mengonfigurasi komponen Swing Train.

Batasan

Komponen Swing Train dapat digunakan dengan sumber daya komputasi MaxCompute dan Realtime Compute for Apache Flink.

Konfigurasikan komponen

Anda dapat mengonfigurasi komponen menggunakan salah satu metode berikut:

Metode 1: Konfigurasikan komponen di konsol PAI

Konfigurasikan komponen Swing Train pada halaman pipeline Machine Learning Designer. Tabel berikut menjelaskan parameter-parameter yang tersedia.

Tab

Parameter

Deskripsi

Field Setting

itemCol

Nama kolom item.

userCol

Nama kolom pengguna.

Parameter Setting

alpha

Parameter alpha. Nilai default: 1.0.

maxItemNumber

Jumlah maksimum pengguna yang menggunakan item untuk perhitungan. Nilai default: 1000.

Catatan

Jika jumlah kemunculan suatu item lebih besar dari nilai ini, algoritma secara acak memilih jumlah maksimum pengguna berdasarkan total jumlah pengguna.

maxUserItems

Jumlah maksimum item yang digunakan oleh seorang pengguna untuk perhitungan. Nilai default: 1000.

Catatan

Jika jumlah item yang digunakan oleh seorang pengguna untuk perhitungan lebih besar dari nilai ini, pengguna tersebut tidak akan dimasukkan dalam perhitungan.

minUserItems

Jumlah minimum item yang digunakan oleh seorang pengguna untuk perhitungan. Nilai default: 10.

Catatan

Jika jumlah item yang digunakan oleh seorang pengguna untuk perhitungan kurang dari nilai ini, pengguna tersebut tidak akan dimasukkan dalam perhitungan.

resultNormalize

Menentukan apakah hasilnya dinormalisasi.

userAlpha

Parameter alpha untuk pengguna. Nilai default: 5.0.

userBeta

Parameter beta untuk pengguna. Nilai default: -0.35.

Execute Tuning

Number of Workers

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

Memory per worker

Ukuran memori setiap node pekerja. Unit: MB. Nilainya harus bilangan bulat positif. Nilai valid: 1024 hingga 65536.

Metode 2: Konfigurasikan komponen menggunakan kode Python

Anda dapat mengonfigurasi komponen Swing Train menggunakan komponen PyAlink Script untuk memanggil kode Python. Untuk informasi lebih lanjut, lihat dokumentasi skrip PyAlink.

Parameter

Diperlukan

Deskripsi

Nilai default

itemCol

Ya

Nama kolom item.

Tidak tersedia

userCol

Ya

Nama kolom pengguna.

Tidak tersedia

alpha

Tidak

Parameter alpha, yang merupakan faktor penghalusan.

1.0

userAlpha

Tidak

Parameter alpha untuk pengguna.

Catatan

Parameter ini digunakan untuk menghitung bobot pengguna menggunakan rumus berikut: Bobot pengguna = 1.0/(userAlpha + userClickCount)^userBeta.

5.0

userBeta

Tidak

Parameter beta untuk pengguna.

Catatan

Parameter ini digunakan untuk menghitung bobot pengguna menggunakan rumus berikut: Bobot pengguna = 1.0/(userAlpha + userClickCount)^userBeta.

-0.35

resultNormalize

Tidak

Menentukan apakah nilai dinormalisasi.

false

maxItemNumber

Tidak

Jumlah maksimum pengguna yang menggunakan item untuk perhitungan.

Catatan

Jika jumlah kemunculan suatu item lebih besar dari nilai ini, algoritma secara acak memilih jumlah maksimum pengguna berdasarkan total jumlah pengguna.

1000

minUserItems

Tidak

Jumlah minimum item yang digunakan oleh seorang pengguna untuk perhitungan.

Catatan

Jika jumlah item yang digunakan oleh seorang pengguna untuk perhitungan kurang dari nilai ini, pengguna tersebut tidak akan dimasukkan dalam perhitungan.

10

maxUserItems

Tidak

Jumlah maksimum item yang digunakan oleh seorang pengguna untuk perhitungan.

Catatan

Jika jumlah item yang digunakan oleh seorang pengguna untuk perhitungan lebih besar dari nilai ini, pengguna tersebut tidak akan dimasukkan dalam perhitungan.

1000

Contoh kode Python:

df_data = pd.DataFrame([
    ["a1", "11L", 2.2],
    ["a1", "12L", 2.0],
    ["a2", "11L", 2.0],
    ["a2", "12L", 2.0],
    ["a3", "12L", 2.0],
    ["a3", "13L", 2.0],
    ["a4", "13L", 2.0],
    ["a4", "14L", 2.0],
    ["a5", "14L", 2.0],
    ["a5", "15L", 2.0],
    ["a6", "15L", 2.0],
    ["a6", "16L", 2.0],
])

data = BatchOperator.fromDataframe(df_data, schemaStr='user string, item string, rating double')


model = SwingTrainBatchOp()\
    .setUserCol("user")\
    .setItemCol("item")\
    .setMinUserItems(1)\
    .linkFrom(data)

model.print()

predictor = SwingRecommBatchOp()\
    .setItemCol("item")\
    .setRecommCol("prediction_result")

predictor.linkFrom(model, data).print()

Contoh

Gambar berikut menunjukkan contoh pipeline di mana komponen Swing Train digunakan. 使用示例 Dalam contoh ini, langkah-langkah berikut dilakukan untuk mengonfigurasi komponen pada gambar sebelumnya:

  1. Siapkan set data pelatihan dan set data uji.

  2. Buat dua tabel MaxCompute bernama Tabel 1 dan Tabel 2. Tabel 1 berisi bidang userid dan itemid, sedangkan Tabel 2 berisi bidang itemid. Bidang-bidang tersebut bertipe STRING. Jalankan perintah tunnel pada klien MaxCompute untuk mengunggah set data pelatihan ke Tabel 1 dan set data uji ke Tabel 2. Kemudian, atur parameter Table Name dari komponen Read Table-1 ke Tabel 1 dan parameter Table Name dari komponen Read Table-2 ke Tabel 2. Untuk informasi tentang cara menginstal dan mengonfigurasi klien MaxCompute, lihat Klien MaxCompute (odpscmd). Untuk informasi tentang perintah Tunnel, lihat Perintah Tunnel.

  3. Impor set data pelatihan ke komponen Swing Train dan konfigurasikan parameter komponen. Untuk informasi lebih lanjut, lihat bagian Metode 1: Konfigurasikan Komponen di Konsol PAI dari topik ini.

  4. Gunakan set data uji dan model terlatih sebagai input ke komponen Swing Recommendation untuk melakukan prediksi.