Lewati ke konten utama

Gambaran Umum Metodologi Encoding

Dalam tutorial ini, Anda akan melihat sekilas teknik encoding beserta beberapa referensi lanjutan yang akan membantu Anda menangani variabel kategorikal.
Diperbarui 28 Sep 2026  · 5 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity
grafik pensil

"Dalam banyak aktivitas data science praktis, himpunan data akan berisi variabel kategorikal. Variabel-variabel ini biasanya disimpan sebagai nilai teks". (Practical Business Python) Karena pembelajaran mesin berbasis pada persamaan matematika, hal ini akan menimbulkan masalah jika kita membiarkan variabel kategorikal apa adanya. Banyak algoritma mendukung nilai kategorikal tanpa manipulasi lebih lanjut, namun dalam kasus tersebut, masih menjadi bahan diskusi apakah variabel perlu di-encode atau tidak. Untuk algoritma yang tidak mendukung nilai kategorikal, pilihannya adalah menggunakan metodologi encoding. Mari kita bahas beberapa metodenya di sini.

Metodologi Encoding

Label encoding

Dalam label encoding, kita memetakan setiap kategori ke sebuah angka atau label. Label yang dipilih untuk kategori tidak memiliki hubungan satu sama lain. Jadi kategori yang memiliki keterkaitan atau berdekatan akan kehilangan informasi tersebut setelah proses encoding.

Frequency encoding

Ini adalah cara memanfaatkan frekuensi kategori sebagai label. Dalam kasus di mana frekuensi memiliki keterkaitan dengan variabel target, metode ini membantu model memahami dan menetapkan bobot secara sebanding atau berbanding terbalik, tergantung pada sifat datanya.

One-hot encoding

Pada metode ini, kita memetakan setiap kategori ke sebuah vektor yang berisi 1 dan 0 untuk menandai ada tidaknya suatu fitur. Jumlah vektor bergantung pada kategori yang ingin kita pertahankan. Untuk fitur dengan kardinalitas tinggi, metode ini menghasilkan banyak kolom yang secara signifikan memperlambat proses pembelajaran. Ada perbincangan mengenai perbedaan antara one-hot encoding dan dummy encoding serta kapan menggunakannya. Keduanya mirip, kecuali one-hot encoding menghasilkan jumlah kolom yang sama dengan jumlah kategori, sementara dummy encoding menghasilkan satu kolom lebih sedikit. Pada akhirnya, hal ini sebaiknya ditangani oleh pemodel sesuai dengan proses validasi.

Dummy variable trap:

Misalkan Anda memiliki dua kategori dalam sebuah fitur kategorikal. Setelah melakukan one-hot encoding, akan ada dua kolom yang mewakili fitur tersebut, tetapi jika diperhatikan hanya satu vektor saja sudah cukup untuk mewakili kedua nilai itu. Seperti fitur kategorikal dengan dua nilai sebutlah “red” dan “blue”. Setelah one-hot encoding akan terbentuk dua vektor: satu menandai “red” dan satu lagi “blue”, tetapi informasinya dapat dipelajari hanya dengan satu vektor, sementara yang lain akan bersifat konstan. Maka kita bisa menghapus satu vektor sehingga data yang perlu dilatih algoritme menjadi lebih sedikit. Ini membantu model berkinerja lebih baik sekaligus memudahkan penjelasan cara kerja model. Dalam skenario nyata, kita sering harus menangani banyak fitur kategorikal, terkadang dengan pengetahuan sebelumnya tentangnya beserta hasilnya. Praktik encoding memang membantu Anda menangani proses input, tetapi juga membuat proses dan pembelajaran menjadi tugas yang sangat berat.

Target atau Impact atau Likelihood encoding

Target Encoding mirip dengan label encoding, kecuali di sini label berkorelasi langsung dengan target. Misalnya, pada mean target encoding, untuk setiap kategori dalam fitur, label ditentukan oleh nilai rata-rata variabel target pada data pelatihan. Metode encoding ini menonjolkan hubungan antar kategori yang serupa, tetapi hubungan tersebut dibatasi dalam kategori dan target itu sendiri. Keuntungan mean target encoding adalah tidak memengaruhi volume data dan membantu pembelajaran yang lebih cepat, sedangkan kekurangannya adalah lebih sulit divalidasi. Regularisasi diperlukan dalam proses implementasi metodologi encoding ini. Kunjungi target encoder di python dan R.

Statistik Encoding

Variabilitas encoding menjelaskan variasi encoding secara individual di dalam suatu kategori. Saat kita membahas variabilitas pada one-hot encoding, variabilitas bergantung pada waktu implementasi di mana diputuskan jumlah kategori yang diambil yang memiliki dampak cukup pada target. Metodologi encoding lain juga menunjukkan variabilitas yang signifikan yang diidentifikasi pada saat validasi.

Untuk menghitung keterbedaan (distinguishability) encoding, kita menghitung label dari kategori lalu mengomputasikan simpangan baku label tersebut. Hal itu menunjukkan keterbedaan kategori yang di-encode, apakah saling berjauhan atau mengelompok pada suatu area.

Perlu diingat, jika Anda memilih gaya encoding yang sederhana dalam proses membuat model, model cenderung bias. Untuk pemahaman yang lebih baik, silakan kunjungi diskusi ini, dan untuk model yang berbeda, Anda harus memperkirakan metodologi encoding Anda, misalnya untuk regresi Anda dapat menggunakan mean target encoding. Jika Anda memiliki klasifikasi, Anda bisa menggunakan relative frequency encoding.

Terakhir, saya ingin berbagi transformer bergaya scikit-learn yang membantu melakukan encoding variabel kategorikal menggunakan berbagai teknik.

category_encoders

Library scikit-learn ini menyediakan teknik-teknik berikut yang saat ini telah diimplementasikan:

  • Ordinal
  • One-Hot
  • Binary
  • Helmert Contrast
  • Sum Contrast
  • Polynomial Contrast
  • Backward Difference Contrast
  • Hashing
  • BaseN
  • LeaveOneOut
  • Target Encoding

Library ini mendukung pandas dataframe sebagai input dan dapat mentransformasikan data. Library ini juga dapat mendukung pipeline sklearn, untuk detailnya kunjungi tautan ini.

Jika Anda ingin mempelajari lebih lanjut tentang scikit-learn, ikuti kursus Supervised Learning with scikit-learn dari DataCamp.

Topik
Machine Learning

Pelajari lebih lanjut tentang Machine Learning

{count, plural, one {Kursus} other {Kursus}}

Memahami Machine Learning

{hours} jam
312.2K
Pengantar machine learning tanpa perlu coding.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

{count, plural, one {blog} other {blogs}}

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

{count, plural, one {blog} other {blogs}}

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

{count, plural, one {blog} other {blogs}}

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

{count, plural, one {blog} other {blogs}}

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya