Kodowanie one-hot
Część sekcji Statystyka w uczeniu maszynowym ścieżki Machine Learning w Coddy. Lekcja 53 z 64.
Instrumenty nie mają kolejności: jeśli przypiszemy im numery 1, 2, 3, pianino będzie miało większą wartość niż perkusja. Kodowanie one-hot przypisuje każdej kategorii własną kolumnę z wartościami 0/1:
pd.get_dummies robi to, a dtype=int oznacza, że zamiast True i False otrzymasz 1 i 0:
pupils = pd.DataFrame({"instrument": ["piano", "drums", "piano", "cello"],
"weeks": [4, 3, 6, 10]})
encoded = pd.get_dummies(pupils, columns=["instrument"], dtype=int)
print(encoded)To wyświetla:
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 0Nowe kolumny są dodawane na końcu, po jednej dla każdej wartości, w kolejności alfabetycznej. Ceną jest szerokość: 500 różnych wartości dodałoby 500 kolumn.
Wyzwanie
ŚredniSerwis z domkami wakacyjnymi zawiera listę domków w pliku cabins.csv. Program odczytuje nazwę kolumny: area lub heat. Kod początkowy przypisuje im numery, aby skorelować je z ceną, ale żadna z tych kolumn nie ma ustalonej kolejności: ta r jest zmyślona.
- Zastąp jego wiersze: zakoduj kolumnę metodą one-hot (0 i 1).
- Wypisz, na ile kolumn została przekształcona, a następnie każdą nową kolumnę wraz z liczbą jedynek.
Dla pięciu domków i wejścia heat:
heat became 2 columns:
heat_gas: 3 cabins
heat_wood: 2 cabinsSpróbuj swoich sił
import pandas as pd
cabins = pd.read_csv("cabins.csv")
column = input()
# Wpisz swój kod poniżej
# Te wiersze przypisują numery obszarom i typom ogrzewania, które nie mają naturalnego porządku: zastąp je
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)}")
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Statystyka w uczeniu maszynowym
1Położenie i rozproszenie
Średnia i medianaPercentyle i kwartyleWariancja i odchylenie standardowePróba czy populacja?Najczęściej występująca wartośćPodsumowanie: czasy dostaw4Próby i populacje
Populacja i próbaŚrednie z prób się różniąRozkład próbkowaniaWiększe próby, mniej szumuPodsumowanie: ankietowanie mieszkańców7Linie trendu
ResztyDopasowanie metodą najmniejszych kwadratówRysowanie dopasowanej prostejPrzewidywanie za pomocą prostejJak dobre jest dopasowanie?Podsumowanie: godziny ćwiczeń10Kodowanie kategorii
Kategorie jako liczbyKodowanie one-hotGrupowanie liczb w przedziałyPowtórzenie: ogłoszenia motoryzacyjne2Rozkłady
Histogramy gęstościKształty danychKrzywa normalnaReguła 68-95-99,7Wyniki standaryzowane (Z-scores)Podsumowanie: czas pracy baterii5Obserwacje odstające
Wykresy pudełkoweReguła IQRReguła Z-scorePostępowanie z obserwacjami odstającymiPodsumowanie: błędy czujników3Prawdopodobieństwo przez symulację
Prawdopodobieństwo jako częstośćPrawo wielkich liczbSumy oczekWartość oczekiwanaPrawdopodobieństwo warunkowePodsumowanie: szanse na stoisku z kośćmi6Relacje
Odczytywanie wykresów punktowychKorelacjaMacierz korelacjiMapy cieplne korelacjiKorelacja nie oznacza przyczynowościPodsumowanie: lody i słońcePoćwicz samodzielnie: Kompilator Python online