Codifica one-hot
Fa parte della sezione Statistica per il machine learning del percorso Machine Learning di Coddy. Lezione 53 di 64.
Gli strumenti non hanno un ordine: se numerati 1, 2, 3, il pianoforte verrebbe considerato superiore alla batteria. La codifica one-hot assegna invece a ogni categoria una propria colonna con 0/1:
Se ne occupa pd.get_dummies, e dtype=int richiede 1 e 0 invece di True e 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)Questo stampa:
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 0Le nuove colonne si aggiungono alla fine, una per ogni valore in ordine alfabetico. Il costo è l’ampiezza: 500 valori diversi aggiungerebbero 500 colonne.
Sfida
MedioUn sito per le vacanze elenca delle baite in cabins.csv. Il programma legge il nome di una colonna, area oppure heat. Il codice iniziale la converte in numeri per correlare la colonna al prezzo, ma nessuna delle due colonne ha un ordine: quel valore r è inventato.
- Sostituisci le sue righe: codifica la colonna con one-hot encoding (0 e 1).
- Stampa in quante colonne si è trasformata, poi ogni nuova colonna con il suo conteggio di 1.
Per cinque baite e con l'input heat:
heat became 2 columns:
heat_gas: 3 cabins
heat_wood: 2 cabinsProvalo tu
import pandas as pd
cabins = pd.read_csv("cabins.csv")
column = input()
# Escribe tu código a continuación
# Estas líneas asignan números a las zonas y los tipos de calefacción, aunque no tienen un orden: reemplázalas
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)}")
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Statistica per il machine learning
1Centro e dispersione
Media e medianaPercentili e quartiliVarianza e deviazione standardCampione o popolazione?Il valore più frequenteRiepilogo: tempi di consegna4Campioni e popolazioni
Popolazione e campioneLe medie campionarie varianoDistribuzione campionariaCampioni più grandi, meno rumoreRiepilogo: sondare una città7Linee di tendenza
ResiduiAdattamento dei minimi quadratiTracciare la retta di adattamentoFare previsioni con una rettaQuanto è buono l’adattamento?Riepilogo: ore di pratica10Codifica delle categorie
Categorie come numeriCodifica one-hotRaggruppamento dei numeri in intervalliRiepilogo: annunci di auto2Distribuzioni
Istogrammi di densitàForme dei datiCurva normaleRegola 68-95-99,7Punteggi ZRiepilogo: durata della batteria5Valori anomali
Diagrammi a scatolaLa regola dell'IQRLa regola dello z-scoreGestire i valori anomaliRiepilogo: anomalie dei sensori3Probabilità tramite simulazione
La probabilità come frequenzaLa legge dei grandi numeriSomme dei dadiValore attesoProbabilità condizionataRiepilogo: probabilità al banco dei dadi6Relazioni
Leggere i grafici a dispersioneCorrelazioneMatrice di correlazioneMappe di calore della correlazioneCorrelazione non significa causalitàRiepilogo: gelato e soleEsercitati da solo: Compilatore Python online