Rekayasa Fitur Otomatis dengan Featuretools
EntitySet, DFS (Deep Feature Synthesis), primitif fitur, agregasi bertingkat.
Rekayasa Fitur Otomatis dengan Featuretools adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Mengotomatiskan Pembuatan Fitur
Rekayasa fitur secara manual lambat dan kombinasi fitur mudah terlewat. Featuretools secara otomatis membangun banyak fitur kandidat dari data relasional menggunakan metode yang disebut Sintesis Fitur Mendalam.
Data Relasional dan Entitas
Data nyata sering tersebar di beberapa tabel yang saling berhubungan: pelanggan, pesanan, dan produk. Featuretools memodelkan hubungan ini dan secara otomatis menghasilkan fitur yang melakukan agregasi di seluruh keterkaitan tersebut.
Membuat EntitySet
EntitySet adalah wadah yang menyimpan dataframe Anda serta hubungan di antara dataframe tersebut. Mulailah dengan membuat wadah kosong.
import featuretools as ft
es = ft.EntitySet(id="customers_data")Menambahkan DataFrames
es.add_dataframe mendaftarkan sebuah tabel. Anda menentukan index-nya (kunci unik) dan, jika diperlukan, time_index untuk data temporal.
import featuretools as ft
es = es.add_dataframe(
dataframe_name="customers",
dataframe=customers_df,
index="customer_id",
)
es = es.add_dataframe(
dataframe_name="orders",
dataframe=orders_df,
index="order_id",
time_index="order_date",
)Mendefinisikan Hubungan
Beri tahu Featuretools cara menghubungkan tabel dengan add_relationship: kunci induk menghubungkan ke kunci asing anak (satu pelanggan memiliki banyak pesanan).
es = es.add_relationship(
"customers", "customer_id",
"orders", "customer_id",
)Sintesis Fitur Mendalam
DFS (ft.dfs) adalah mesinnya. Metode ini menumpuk operasi di seluruh hubungan untuk membuat fitur seperti "nilai pesanan rata-rata per pelanggan" tanpa Anda harus menulis kode untuk setiap fitur.
import featuretools as ft
feature_matrix, feature_defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
)Primitif Agregasi
Primitif agregasi meringkas baris anak ke tingkat induk: SUM, MEAN, COUNT, MAX, STD. Primitif ini mengubah banyak pesanan menjadi statistik per pelanggan.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
agg_primitives=["mean", "sum", "count", "max"],
)Primitif Transformasi
Primitif transformasi beroperasi dalam satu baris atau tabel: mengambil bulan dari tanggal, menghitung waktu yang telah berlalu, atau mengambil nilai absolut.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
trans_primitives=["month", "weekday", "time_since_previous"],
)Mengontrol Kedalaman dengan max_depth
max_depth membatasi jumlah primitif yang dapat ditumpuk. Kedalaman 1 adalah agregasi langsung; kedalaman 2 menerapkan transformasi lalu agregasi (misalnya, rata-rata hari dalam minggu dari pesanan). Kedalaman yang lebih tinggi menghasilkan lebih banyak fitur, tetapi juga lebih berisiko.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
max_depth=2,
)Menggunakan Matriks Fitur
feature_matrix yang dihasilkan adalah dataframe bersih yang diindeks berdasarkan entitas target dan siap dimasukkan ke model. feature_defs mendokumentasikan setiap fitur yang dihasilkan.
print(feature_matrix.shape)
print(feature_matrix.head())
X = feature_matrix.fillna(0)
# now train any sklearn model on XKelebihan dan Hal yang Perlu Diperhatikan
Featuretools dengan cepat menghasilkan banyak fitur dan menemukan sinyal relasional. Namun, alat ini dapat menghasilkan ratusan kolom, jadi padukan dengan seleksi fitur. Waspadai kebocoran dengan menetapkan cutoff_time yang tepat untuk data temporal.
Pemeriksaan Singkat
Uji pengetahuan Anda tentang Featuretools.
Rangkuman
Rangkuman: Featuretools mengotomatiskan rekayasa fitur. Bangun EntitySet, daftarkan tabel dengan es.add_dataframe, definisikan hubungan, lalu jalankan ft.dfs dengan max_depth. Primitif agregasi menaikkan baris anak ke tingkat induk; primitif transformasi bekerja dalam satu baris. feature_matrix siap digunakan oleh model, tetapi sebaiknya dipadukan dengan seleksi fitur.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Rekayasa Fitur Otomatis dengan Featuretools” gratis?
Ya — teks lengkap “Rekayasa Fitur Otomatis dengan Featuretools” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Rekayasa Fitur Otomatis dengan Featuretools”?
EntitySet, DFS (Deep Feature Synthesis), primitif fitur, agregasi bertingkat. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Rekayasa Fitur Otomatis dengan Featuretools” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Metode Seleksi Fitur
- Membuat Fitur Interaksi dan Polinomial
- Pengodean Target dan Penanganan Kategorikal Lanjutan
- Rekayasa Fitur Otomatis dengan Featuretools