All Products
Search
Document Center

Platform For AI:Rekayasa fitur

Last Updated:Mar 12, 2026

Rekayasa fitur adalah proses dalam algoritma rekomendasi untuk memproses set data mentah—seperti tabel user, item, dan perilaku—serta menghasilkan tabel fitur baru yang kemudian digunakan untuk pengambilan dan pengurutan selanjutnya.

Prasyarat

Set data

Untuk mendemonstrasikan rekayasa fitur, topik ini menggunakan skrip untuk mensimulasikan dan menghasilkan tabel user, item, dan perilaku. Tabel-tabel ini bersifat contoh dan tidak berisi data nyata.

Tabel user: pai_online_project.rec_sln_demo_user_table

Field

Type

Description

user_id

bigint

tag pengguna.

gender

string

Jenis kelamin.

age

bigint

Usia.

city

string

Kota.

item_cnt

bigint

Jumlah pengikut.

follow_cnt

bigint

Jumlah user yang diikuti.

follower_cnt

bigint

Jumlah pengikut.

register_time

bigint

Waktu pendaftaran.

tags

string

Tag user.

ds

string

Waktu publikasi.

Tabel item: pai_online_project.rec_sln_demo_item_table

Field

Type

Description

item_id

bigint

ID instrumentasi atau ID permintaan.

duration

double

Durasi video.

title

string

Jumlah total klik.

category

string

Kategori level-1.

author

bigint

Penulis.

click_count

bigint

Total jumlah klik.

praise_count

bigint

Total jumlah suka.

pub_time

bigint

Waktu publikasi.

ds

string

kolom kunci partisi tabel.

Tabel perilaku: pai_online_project.rec_sln_demo_behavior_table

Field

Type

Description

request_id

bigint

ID instrumen atau ID permintaan.

user_id

bigint

ID unik user.

exp_id

string

Jenis event dari perilaku.

page

string

Halaman.

net_type

string

jenis jaringan.

event_time

bigint

Waktu terjadinya event perilaku.

item_id

bigint

ID item.

event

string

Jenis event dari perilaku tersebut.

playtime

double

Durasi pemutaran atau membaca.

ds

string

kolom kunci partisi tabel.

Rekayasa fitur

Langkah 1: Buka halaman Designer

  1. Masuk ke Konsol PAI.

  2. Pada panel navigasi sebelah kiri, klik Workspace Management. Di halaman Workspace Management, klik nama ruang kerja yang ingin Anda kelola.

  3. Pada panel navigasi sebelah kiri halaman ruang kerja, pilih Model Development and Training > Machine Learning Designer untuk membuka halaman Designer.

Langkah 2: Bangun alur kerja

  1. Di halaman Designer, klik tab Preset Templates.

  2. Di bagian Recommendation Solution - Feature Engineering, klik Create.

  3. Pada kotak dialog Create Workflow, konfigurasikan parameter dengan nilai default.

    Atur Workflow Data Storage ke path bucket OSS. Path ini digunakan untuk menyimpan data sementara dan model yang dihasilkan selama eksekusi alur kerja.

  4. Klik OK.

    Tunggu sekitar 10 detik hingga alur kerja selesai dibuat.

  5. Pada daftar alur kerja, klik ganda alur kerja Recommendation Solution - Feature Engineering untuk membukanya.

  6. Sistem secara otomatis membangun alur kerja berdasarkan template preset, seperti yang ditunjukkan pada gambar berikut.image.png

    Node

    Description

    1

    Pra-pemrosesan tabel item:

    • Ganti pemisah untuk fitur tag dengan chr(29) agar dapat digunakan dalam langkah pembuatan fitur (FG) selanjutnya.

    • Menunjukkan apakah output merupakan fitur dari item yang baru dipublikasikan.

    2

    Pra-pemrosesan tabel perilaku: Hasilkan fitur turunan berbasis waktu untuk perilaku, seperti day_h dan week_day.

    3

    Pra-pemrosesan tabel user:

    • Output adalah fitur yang menunjukkan apakah user baru mendaftar.

    • Ganti pemisah untuk fitur tag dengan chr(29) agar dapat digunakan dalam langkah FG selanjutnya.

    4

    Hubungkan tabel perilaku, user, dan item untuk membentuk tabel log perilaku lebar (wide behavior log table) yang mencakup properti statistik.

    5

    Hasilkan tabel fitur item yang berisi fitur statistik item dalam suatu periode:

    • item__{event}_cnt_{N}d: Jumlah kali suatu event tertentu terjadi pada item dalam N hari. Ini menunjukkan popularitas item tersebut.

    • item__{event}_{itemid}_dcnt_{N}d: Jumlah user unik yang melakukan event tertentu pada item dalam N hari. Ini menunjukkan popularitas item tersebut.

    • item__{min|max|avg|sum}_{field}_{N}d: Distribusi statistik properti numerik user untuk event positif pada item dalam N hari. Ini menunjukkan preferensi user dengan properti numerik tertentu.

    • item__kv_{cate}_{event}_{N}d: Statistik properti kategorikal user untuk event tertentu pada item dalam N hari. Ini menunjukkan preferensi user dengan properti kategorikal tertentu.

    6

    Hasilkan tabel fitur user yang berisi fitur statistik user dalam suatu periode.

Langkah 3: Tambahkan fungsi

  1. Buat business flow. Untuk informasi selengkapnya, lihat Buat business flow.

  2. Klik kanan MaxCompute di bawah business flow baru dan pilih New Resource > Python untuk membuat resource skrip Python bernama count_cates_kvs.py. Untuk informasi selengkapnya, lihat Buat dan gunakan resource MaxCompute.

  3. Klik kanan MaxCompute di bawah business flow baru dan pilih New Function. Buat fungsi MaxCompute bernama COUNT_CATES_KVS. Atur Class Name menjadi count_cates_kvs.CountCatesKVS dan Resource List menjadi count_cates_kvs.py. Untuk informasi selengkapnya, lihat Buat dan gunakan user-defined function.

Langkah 4: Jalankan alur kerja dan lihat output

Catatan

Secara default, set data ini menggunakan data selama 45 hari, sehingga eksekusi dapat memakan waktu lama. Untuk mempercepat eksekusi, lakukan langkah-langkah berikut:

  • Perbarui parameter jendela waktu eksekusi agar menggunakan data dari periode yang lebih singkat.

    • Klik masing-masing node berikut. Pada tab Parameter Settings di sebelah kanan, ubah parameter Execution Time Window dari nilai default (-45,0] menjadi (-9,0]:

      • 1_rec_sln_demo_item_table_preprocess_v2

      • 2_rec_sln_demo_behavior_table_preprocess_ v2

      • 3_rec_sln_demo_user_table_preprocess_v2

      • 4_rec_sln_demo_behavior_table_preprocess_wide_v2

    • Klik masing-masing node berikut. Pada tab Parameter Settings di sebelah kanan, ubah parameter Execution Time Window dari nilai default (-31,0] menjadi (-8,0]:

      • 5_rec_sln_demo_item_table_preprocess_all_feature_v2

      • 6_rec_sln_demo_user_table_preprocess_all_feature_v2

  • Modifikasi skrip SQL untuk memilih subset user.

    • Klik node 2_rec_sln_demo_behavior_table_preprocess_ v2. Pada tab Parameter Settings di sebelah kanan, ubah baris 32 pada parameter SQL Script dari WHERE ds = '${pai.system.cycledate}' menjadi WHERE ds = '${pai.system.cycledate}' AND user_id % 10 = 1.

    • Klik node 3_rec_sln_demo_user_table_preprocess_v2. Pada tab Parameter Settings di sebelah kanan, ubah baris 38 pada parameter SQL Script dari WHERE ds = '${pai.system.cycledate}' menjadi WHERE ds = '${pai.system.cycledate}' AND user_id % 10 = 1.

  1. Klik tombol Run image.png pada bilah alat di atas kanvas Designer.

  2. Setelah alur kerja selesai dijalankan, verifikasi bahwa tabel MaxCompute berikut berisi data selama 30 hari:

    • Tabel fitur item: rec_sln_demo_item_table_preprocess_all_feature_v2

    • Tabel log perilaku lebar: rec_sln_demo_behavior_table_preprocess_v2

    • Tabel fitur user: rec_sln_demo_user_table_preprocess_all_feature_v2

    Lakukan kueri data pada tabel-tabel di atas melalui halaman kueri SQL. Untuk informasi selengkapnya, lihat Sambungkan menggunakan DataWorks.

    Catatan

    Proyek melarang full table scan pada tabel partisi. Tentukan kondisi partisi dalam kueri Anda. Jika full table scan diperlukan, tambahkan pernyataan set odps.sql.allow.fullscan=true; sebelum Pernyataan SQL Anda dan jalankan bersamaan. Full table scan membaca lebih banyak data dan dapat mengakibatkan biaya yang lebih tinggi.