Menu
CoddyTech

Diagrammi a scatola

Fa parte della sezione Statistica per il machine learning del percorso Machine Learning di Coddy. Lezione 24 di 64.

Ogni set di dati nasconde valori insoliti: un errore di battitura, un'anomalia, un giorno da record. Questo capitolo li individua e li gestisce, iniziando dal grafico che li mostra, il diagramma a scatola:

11 durate di episodi di podcast rappresentate come punti e, accanto, il loro diagramma a scatola: una scatola da Q1, 39, a Q3, 47.5, divisa dalla linea della mediana a 43, con baffi che arrivano fino a 32 e fino a 52, e un unico punto isolato a 75 contrassegnato come valore anomalo

ax.boxplot lo disegna:

episodes = np.array([41, 36, 49, 43, 32, 46, 75, 40, 52, 38, 44])
fig, ax = plt.subplots()
ax.boxplot(episodes)
plt.show()

Il rettangolo contiene la metà centrale dei valori, da Q1 a Q3, divisa dalla mediana. I baffi arrivano agli ultimi valori che non sono troppo distanti.

I punti oltre di essi sono valori anomali, valori lontani dal resto: quelli da controllare prima che un modello impari da essi.

challenge icon

Sfida

Medio

Una famiglia ha registrato due settimane di lettura in reading.csv, con una colonna di minuti per persona. Il programma legge un nome e il codice iniziale prepara il grafico.

  1. Disegna un diagramma a scatola e baffi della colonna di quella persona.
  2. Stampa la mediana e i bordi della scatola, Q1 e Q3, ciascuno arrotondato a 2 decimali, come sotto.

Per Sam, un altro lettore, il programma stampa:

Typical day: 97.5 minutes
Middle half: 90.5 to 108.75 minutes

e disegna questo grafico (Coddy poi descrive il tuo):

Un diagramma a scatola e baffi intitolato Reading: Sam con Minutes sul lato: una scatola da circa 90 a 109 con la linea della mediana vicino a 98, baffi da 87 a 128 e punti anomali a 61 e 205

Provalo tu

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

reading = pd.read_csv("reading.csv")
name = input()
# Non modificare le righe qui sotto
fig, ax = plt.subplots()
ax.set_title(f"Reading: {name}")
ax.set_ylabel("Minutes")

# Scrivi il tuo codice qui sotto
quiz iconMettiti alla prova

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

Esercitati da solo: Compilatore Python online