全部产品
Search
文档中心

Platform For AI:Collaborative Filtering (etrec)

更新时间:Jul 02, 2025

Komponen Collaborative Filtering (etrec) yang disediakan oleh Platform for AI (PAI) menggunakan etrec, yaitu algoritma collaborative filtering berbasis item. Algoritma ini memproses dua kolom input dan menghasilkan N item dengan kemiripan tertinggi sebagai output.

Konfigurasikan komponen

Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi komponen Collaborative Filtering (etrec).

Metode 1: Konfigurasikan komponen di konsol PAI

Anda dapat mengonfigurasi parameter komponen Collaborative Filtering (etrec) pada halaman pipeline Machine Learning Designer dari PAI. Tabel berikut menjelaskan parameter tersebut.

Tab

Parameter

Deskripsi

Fields Setting

User Column

Nama kolom pengguna.

Item Column

Nama kolom item.

Delimiter between items in the output table

Tentukan pemisah antar item dalam tabel output. Pemisah default adalah spasi.

Delimiter between key-value in the output table

Pemisah yang digunakan untuk memisahkan kunci dan nilai dalam tabel output. Pemisah default adalah titik dua (:). Spasi tidak didukung.

Parameters Setting

Similarity Type

Tipe kemiripan. Nilai valid: WbCosine, asymcosine, dan Jaccard.

TopN

Jumlah maksimum item serupa yang dapat disimpan dalam tabel output.

Calculation Behavior

Metode yang digunakan untuk menghitung payload ketika sebuah item dari pengguna muncul beberapa kali. Nilai valid: Add, Mul, Min, dan Max.

Catatan

Parameter ini sudah tidak digunakan lagi dan tidak efektif.

Minimum Item Value

Jika jumlah item dari seorang pengguna kurang dari nilai parameter ini, perilaku pengguna diabaikan.

Maximum Item Value

Jika jumlah item dari seorang pengguna lebih besar dari nilai parameter ini, perilaku pengguna diabaikan.

Smoothing Factor

Parameter ini hanya valid jika parameter Similarity Type diatur ke asymcosine.

Weighting Coefficient

Parameter ini hanya valid jika parameter Similarity Type diatur ke asymcosine.

Metode 2: Konfigurasikan parameter menggunakan perintah PAI

Konfigurasikan parameter komponen menggunakan perintah PAI. Bagian berikut menjelaskan parameter tersebut. Anda dapat menggunakan skrip SQL untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.

PAI -name pai_etrec
    -project algo_public
    -DsimilarityType="wbcosine"
    -Dweight="1"
    -DminUserBehavior="2"
    -Dlifecycle="28"
    -DtopN="2000"
    -Dalpha="0.5"
    -DoutputTableName="etrec_test_result"
    -DmaxUserBehavior="500"
    -DinputTableName="etrec_test_input"
    -DuserColName="user"
    -DitemColName="item"

Parameter

Diperlukan

Deskripsi

Nilai default

inputTableName

Ya

Nama tabel input.

N/A

userColName

Ya

Nama kolom pengguna dalam tabel input.

Tidak ada

itemColName

Ya

Nama kolom item dalam tabel input.

Tidak ada

inputTablePartitions

Tidak

Partisi yang dipilih dari tabel input untuk pelatihan.

Tabel lengkap

outputTableName

Ya

Nama tabel output.

Tidak ada

outputTablePartition

Tidak

Partisi dalam tabel output.

Tidak ada

similarityType

Tidak

Tipe kemiripan. Nilai valid: wbcosine, asymcosine, and jaccard.

wbcosine

topN

Tidak

Jumlah item dengan kemiripan terbesar yang dapat disimpan dalam tabel output. Jumlah pohon. Nilai valid: 1 hingga 10000.

2000

minUserBehavior

Tidak

Jumlah minimum catatan perilaku pengguna.

2

maxUserBehavior

Tidak

Jumlah maksimum catatan perilaku pengguna.

500

itemDelimiter

Tidak

Pemisah yang digunakan untuk memisahkan item dalam tabel output.

Backspace

kvDelimiter

Tidak

Pemisah yang digunakan untuk memisahkan kunci dan nilai dalam tabel output.

Titik dua (:)

alpha

Tidak

Faktor penghalusan ketika parameter similarityType diatur ke asymcosine. Nilai valid: (0,1).

0.5

weight

Tidak

Indeks pembobotan ketika parameter similarityType diatur ke asymcosine.

1.0

lifecycle

Tidak

Siklus hidup tabel output.

1

coreNum

Tidak

Jumlah core.

Ditetapkan oleh sistem

memSizePerCore

Tidak

Ukuran memori setiap core. Satuan: MB.

Ditetapkan oleh sistem

Contoh

  1. Jalankan pernyataan SQL berikut untuk menghasilkan data pelatihan:

    drop table if exists etrec_test_input;
    create table etrec_test_input
    as
    select
        *
    from
    (
        select
            cast(0 as string) as user,
            cast(0 as string) as item
        union all
            select
                cast(0 as string) as user,
                cast(1 as string) as item
        union all
            select
                cast(1 as string) as user,
                cast(0 as string) as item
        union all
            select
                cast(1 as string) as user,
                cast(1 as string) as item
    ) a;

    Tabel data pelatihan bernama etrec_test_input telah dibuat.

    pengguna

    item

    0

    0

    0

    1

    1

    0

    1

    1

  2. Jalankan perintah PAI berikut untuk mengirimkan parameter pelatihan:

    drop table if exists etrec_test_result;
    PAI -name pai_etrec
        -project algo_public
        -DsimilarityType="wbcosine"
        -Dweight="1"
        -DminUserBehavior="2"
        -Dlifecycle="28"
        -DtopN="2000"
        -Dalpha="0.5"
        -DoutputTableName="etrec_test_result"
        -DmaxUserBehavior="500"
        -DinputTableName="etrec_test_input"
        -DuserColName="user"
        -DitemColName="item";
  3. Lihat tabel hasil output bernama etrec_test_result.

    itemid

    kemiripan

    0

    1:1

    1

    0:1