Pengekodan Lajur Kategori
Asas pengekodan one-hot dan label
Pengekodan Lajur Kategori ialah pelajaran Data Science Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Data Science Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Data Science Academy merangkumi sejumlah 4 pelajaran.
Mengapa Pengekodan Penting
Kebanyakan model hanya memahami nombor, sedangkan data anda penuh dengan perkataan seperti merah atau biru. Pengekodan menukarkan label tersebut kepada nombor yang boleh dipelajari oleh model. 🔢
Nominal berbanding Ordinal
Sesetengah kategori mempunyai susunan, seperti kecil, sederhana dan besar. Kategori lain, seperti nama bandar, tidak mempunyai susunan. Susunan ini menentukan pengekodan yang tepat.
Pengekodan Label
Pengekodan label memberikan setiap kategori satu integer: merah menjadi 0 dan biru menjadi 1. Mudah, tetapi kaedah ini mencipta susunan yang mungkin tidak wujud.
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
codes = le.fit_transform(df['color'])Perangkap Susunan Palsu
Jika biru ialah 1 dan hijau ialah 2, model mungkin menganggap hijau lebih tinggi daripada biru. Bagi data nominal, kedudukan palsu ini boleh menjejaskan ketepatan.
Pengekodan One-Hot
Pengekodan one-hot menghasilkan satu lajur baharu bagi setiap kategori, yang ditandai dengan 1 atau 0. Tiada susunan rekaan, hanya penanda ya atau tidak yang jelas.
get_dummies dalam pandas
Pengekodan one-hot terpantas dalam pandas ialah get_dummies. Berikan satu lajur kepadanya dan setiap kategori akan dikembangkan menjadi lajur 0/1 tersendiri.
dummies = pd.get_dummies(df['color'])Elakkan Perangkap Dummy
Lajur-lajur tersebut mempunyai korelasi sempurna, jadi gugurkan satu dengan drop_first. Ini memastikan model linear stabil dan mengelakkan maklumat berlebihan.
pd.get_dummies(df['color'], drop_first=True)OneHotEncoder untuk Saluran Paip
Untuk model, utamakan OneHotEncoder daripada scikit-learn. Ia mengingati kategori yang dipelajarinya, supaya data latihan dan data ujian kekal sejajar sepenuhnya.
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')Kodkan Susunan dengan Sengaja
Apabila susunan itu benar-benar bermakna, petakan sendiri supaya nilai kecil hingga besar menjadi 1 hingga 3. Pemetaan ordinal mengekalkan makna asal.
order = {'small': 1, 'medium': 2, 'large': 3}
df['size_num'] = df['size'].map(order)Berwaspada terhadap Kardinaliti Tinggi
Pengekodan one-hot pada lajur dengan ribuan nilai akan berkembang menjadi ribuan lajur. Untuk kardinaliti tinggi, pertimbangkan untuk mengumpulkan nilai yang jarang muncul terlebih dahulu.
Kendalikan Kategori yang Belum Dilihat
Data baharu mungkin mengandungi label yang tidak pernah dilihat oleh pengekod anda. Rancang untuk keadaan ini supaya kategori yang belum dilihat tidak menyebabkan langkah ramalan gagal.
Semakan Pantas
Lajur warna anda tiada susunan semula jadi. Pengekodan manakah yang mengelakkan penciptaan kedudukan palsu?
Imbas Kembali: Pengekodan
Anda menukar perkataan kepada nombor: one-hot untuk kategori tanpa susunan, pemetaan ordinal untuk susunan sebenar, dan pengekodan label hanya apabila susunan tidak penting. 🎉
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Pengekodan Lajur Kategori” percuma?
Ya — teks penuh “Pengekodan Lajur Kategori” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Data Science Academy, tingkat taraf kepada CoddyKit PRO. Kursus Data Science Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Pengekodan Lajur Kategori”?
Asas pengekodan one-hot dan label Anda berlatih Data Science Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Data Science Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Data Science Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Pengekodan Lajur Kategori” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Data Science Academy ini?
Ya. Setiap pelajaran Data Science Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Bahagikan Nombor kepada Kategori
- Pengekodan Lajur Kategori
- Skalakan dan Normalkan Nombor
- Bina Ciri daripada Tarikh dan Teks