One-Hot Encoding
Coddy'nin Machine Learning Journey'sinin Makine Öğrenimi için İstatistik bölümünün bir parçası. Ders 53 / 64.
Enstrümanların sırası yoktur: 1, 2, 3 diye numaralandırıldıklarında piyano, davuldan daha büyük bir sayı olur. One-hot kodlama, bunun yerine her kategoriye kendine ait bir 0/1 sütunu verir:
Bunu pd.get_dummies yapar ve dtype=int, True ve False yerine 1 ve 0 ister:
pupils = pd.DataFrame({"instrument": ["piano", "drums", "piano", "cello"],
"weeks": [4, 3, 6, 10]})
encoded = pd.get_dummies(pupils, columns=["instrument"], dtype=int)
print(encoded)Şunun çıktısını verir:
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 0Yeni sütunlar, alfabetik sırayla her değer için bir tane olacak şekilde sona eklenir. Bunun bedeli genişliktir: 500 farklı değer, 500 sütun ekler.
Görev
OrtaTatil sitesi, kabinleri cabins.csv dosyasında listeler. Program bir sütun adı okur: area veya heat. Başlangıç kodu bunu fiyatla ilişkilendirmek için sayısallaştırır, ancak bu sütunların hiçbirinin sıralaması yoktur: bu r uydurmadır.
- Satırlarını değiştir: sütunu one-hot encode et (0 ve 1).
- Kaç sütuna dönüştüğünü, ardından her yeni sütunu 1 sayısıyla birlikte yazdır.
Beş kabin ve heat girdisi için:
heat became 2 columns:
heat_gas: 3 cabins
heat_wood: 2 cabinsKendin dene
import pandas as pd
cabins = pd.read_csv("cabins.csv")
column = input()
# Kodunuzu aşağıya yazın
# Bu satırlar, bölgeleri ve ısıtma türlerini gerçekte sahip olmadıkları bir sıraya göre numaralandırıyor: bunları değiştirin
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)}")
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Makine Öğrenimi için İstatistik bölümündeki tüm dersler
1Merkez ve Yayılım
Ortalama ve MedyanYüzdelikler ve ÇeyreklerVaryans ve Standart SapmaÖrneklem mi, Anakütle mi?En Sık Görülen DeğerÖzet: Teslimat Süreleri4Örneklemler ve Anakütleler
Anakütle ve ÖrneklemÖrneklem Ortalamaları DeğişirÖrnekleme DağılımıDaha Büyük Örneklemler, Daha Az GürültüÖzet: Bir Kasabada Anket Yapmak7Eğilim Doğruları
ArtıklarEn Küçük Kareler UydurmasıUydurma Doğrusunu ÇizmeBir Doğruyla Tahmin YapmaUydurma Ne Kadar İyi?Tekrar: Alıştırma Saatleri10Kategorileri Kodlama
Sayılar Olarak KategorilerOne-Hot EncodingSayıları Gruplara AyırmaÖzet: Araba İlanları2Dağılımlar
Yoğunluk HistogramlarıVeri Dağılımlarının ŞekilleriNormal Eğri68-95-99,7 KuralıZ PuanlarıÖzet: Pil Ömrü5Aykırı Değerler
Kutu GrafikleriIQR KuralıZ-Skoru KuralıAykırı Değerleri Ele AlmaÖzet: Sensör Hataları8Grupları Karşılaştırma
Gruplara Göre Kutu GrafikleriOrtalamalar Arasındaki FarkŞans Eseri Olabilir mi?P-Değerlerit-TestiÖzet: A/B Testi11Bir Veri Kümesini Keşfetmek
İlk BakışTüm Özellikler Bir AradaÖzellikler ve EtiketEn İyi İki ÖzellikÖzet: Diyabet Verileri3Simülasyonla Olasılık
Frekans Olarak OlasılıkBüyük Sayılar YasasıZarların ToplamıBeklenen DeğerKoşullu OlasılıkTekrar: Zar Tezgâhının Olasılıkları6İlişkiler
Dağılım Grafiklerini OkumaKorelasyonKorelasyon MatrisiKorelasyon Isı HaritalarıKorelasyon Nedensellik DeğildirÖzet: Dondurma ve GüneşKendi başına pratik yap: Online Python derleyicisi