One-Hot Encoding
Termasuk bagian Statistik untuk ML dalam perjalanan Machine Learning di Coddy. Pelajaran 53 dari 64.
Instrumen tidak memiliki urutan: jika diberi nomor 1, 2, 3, piano akan dianggap lebih besar daripada drum. One-hot encoding memberi setiap kategori kolom 0/1 tersendiri:
pd.get_dummies yang melakukannya, dan dtype=int meminta nilai 1 dan 0, bukan True dan False:
pupils = pd.DataFrame({"instrument": ["piano", "drums", "piano", "cello"],
"weeks": [4, 3, 6, 10]})
encoded = pd.get_dummies(pupils, columns=["instrument"], dtype=int)
print(encoded)Hasilnya:
weeks instrument_cello instrument_drums instrument_piano
0 4 0 0 1
1 3 0 1 0
2 6 0 0 1
3 10 1 0 0Kolom baru ditambahkan di bagian akhir, satu untuk setiap nilai dengan urutan alfabetis. Dampaknya adalah lebar tabel: 500 nilai yang berbeda akan menambahkan 500 kolom.
Tantangan
SedangSitus liburan mencantumkan kabin di cabins.csv. Program membaca nama kolom, area atau heat. Kode awal memberinya nomor agar berkorelasi dengan harga, tetapi kedua kolom tidak memiliki urutan: nilai r itu dibuat-buat.
- Ganti baris-barisnya: lakukan encoding one-hot pada kolom (0 dan 1).
- Cetak jumlah kolom yang dihasilkannya, lalu setiap kolom baru beserta jumlah nilai 1-nya.
Untuk lima kabin dan input heat:
heat became 2 columns:
heat_gas: 3 cabins
heat_wood: 2 cabinsCoba sendiri
import pandas as pd
cabins = pd.read_csv("cabins.csv")
column = input()
# Tulis kodemu di bawah ini
# Baris-baris ini memberi nomor pada area dan jenis pemanas, padahal keduanya tidak memiliki urutan: ganti baris-baris ini
numbers = {"coast": 1, "hills": 2, "lake": 3, "woods": 4, "gas": 1, "solar": 2, "wood": 3}
cabins[column] = cabins[column].map(numbers)
print(f"{column} against price: r = {round(cabins[column].corr(cabins['price']), 2)}")
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Statistik untuk ML
1Pusat dan Sebaran
Rata-rata dan MedianPersentil dan KuartilVarians dan Simpangan BakuSampel atau Populasi?Nilai yang Paling Sering MunculRangkuman: Waktu Pengiriman4Sampel dan Populasi
Populasi dan SampelRata-rata Sampel BervariasiDistribusi SamplingSampel Lebih Besar, Lebih Sedikit GangguanRangkuman: Jajak Pendapat di Sebuah Kota7Garis Tren
ResidualPencocokan Kuadrat TerkecilMenggambar Garis KecocokanMemprediksi dengan GarisSeberapa Baik Kecocokannya?Rangkuman: Jam Latihan10Kategori Encoding
Kategori sebagai AngkaOne-Hot EncodingMengelompokkan AngkaRangkuman: Daftar Mobil2Distribusi
Histogram KepadatanBentuk DataKurva NormalAturan 68-95-99,7Skor-ZRekap: Daya Tahan Baterai5Nilai Pencilan
Diagram KotakAturan IQRAturan Z-ScoreMenangani Nilai PencilanRangkuman: Gangguan Sensor3Probabilitas melalui Simulasi
Probabilitas sebagai FrekuensiHukum Bilangan BesarJumlah Mata DaduNilai HarapanProbabilitas BersyaratRangkuman: Peluang di Lapak Dadu6Hubungan
Membaca Diagram PencarKorelasiMatriks KorelasiPeta Panas KorelasiKorelasi Bukan Sebab-AkibatRangkuman: Es Krim dan MatahariLatihan sendiri: Compiler Python online