Menu
CoddyTech

Correlazione

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

Una caratteristica che si muove insieme al target aiuta un modello a prevederlo. La correlazione r misura quanto strettamente due colonne seguono una linea retta, da -1 a 1:

Sei piccoli grafici a dispersione etichettati con il loro r: -0.9 e -0.5 decrescono, 0.0 è una nuvola senza forma, 0.5 e 0.9 crescono e 1.0 è una linea perfetta crescente

Sei settimane di annunci e vendite di un negozio: np.corrcoef restituisce una tabella 2 per 2, con ogni array confrontato con l’altro, e r in [0, 1]. Il metodo .corr di una colonna restituisce direttamente il valore:

ads = np.array([100, 200, 150, 300, 250, 50])
sales = np.array([430, 520, 560, 760, 610, 410])
print(np.round(np.corrcoef(ads, sales), 2))
shop = pd.DataFrame({"ads": ads, "sales": sales})
print(np.round(shop["ads"].corr(shop["sales"]), 2))

Questo stampa:

[[1.   0.94]
 [0.94 1.  ]]
0.94

A 0,94, le settimane con più annunci hanno chiaramente venduto di più.

challenge icon

Sfida

Medio

Una palestra ha monitorato 20 iscritti per tre mesi in gym.csv, con le colonne visits, classes, minutes_per_visit, age e weight_change_kg. Il programma legge due nomi di colonna.

  1. Stampa i due nomi e il loro r, arrotondato a 2 decimali, come sotto.
  2. Stampa Direction: positive quando r è maggiore di 0.3, negative quando è minore di -0.3, altrimenti none.

Per le laps e i minutes di un club di nuoto:

laps and minutes: r = 0.95
Direction: positive

Provalo tu

import numpy as np
import pandas as pd

gym = pd.read_csv("gym.csv")
first = input()
second = input()

# 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