Le due feature migliori
Fa parte della sezione Statistica per il machine learning del percorso Machine Learning di Coddy. Lezione 59 di 64.
Ecco l’immagine promessa in questo capitolo: le due caratteristiche medie più forti in un unico grafico a dispersione, un colore per classe.
I campioni benigni si concentrano in basso a sinistra, quelli maligni si distribuiscono verso l’alto e a destra. Dove le nuvole si incontrano, un modello che usa questa coppia commetterà i suoi errori.
Un ultimo controllo: sono due copie quasi identiche?
first = strength.index[0]
second = strength.index[1]
print(np.round(df[first].corr(df[second]), 2))Questo stampa 0.85: correlate, non copie. A 0.99 la seconda caratteristica ripeterebbe la prima e non aggiungerebbe quasi nulla di nuovo.
Sfida
MedioLe caratteristiche error misurano quanto una misurazione è variata tra le cellule di un campione. Le due più forti riescono a distinguere le classi? Il codice iniziale le classifica in first e second; label(ax) assegna i nomi al grafico.
- Stampa
r between them:e il loro r, con 2 cifre decimali. - Disegna uno scatter plot per classe, con
firstsull’asse orizzontale e con il nome della classe come etichetta. - Chiama
label(ax), aggiungi una legenda e visualizzala.
Come questo, per la coppia worst più forte (r 0.82):
Poi valuta il tuo grafico: le nuvole sono separate? E, in base al tuo r, sono copie?
Provalo tu
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame
y = cancer.target
# Le dieci caratteristiche di errore: quanto varia ciascuna misurazione tra le cellule di un campione
X = cancer.data[cancer.feature_names[10:20]]
# In ordine di intensità: first e second sono le due più forti
strength = np.abs(X.corrwith(y)).sort_values(ascending=False)
first = strength.index[0]
second = strength.index[1]
# Imposta il titolo del grafico e assegna agli assi i nomi della coppia
def label(ax):
ax.set_title("Error Features")
ax.set_xlabel(first)
ax.set_ylabel(second)
# Scrivi il tuo codice qui sotto
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 sensori8Confrontare gruppi
Diagrammi a scatola per gruppoDifferenza tra le mediePotrebbe essere solo caso?I p-valueIl test tRiepilogo: test A/B11Esplorare un dataset
Una prima occhiataTutte le feature insiemeFeature a confronto con l'etichettaLe due feature miglioriRiepilogo: dati sul diabete3Probabilità 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