Isolation Forest
Fa parte della sezione Apprendimento non supervisionato del percorso Machine Learning di Coddy. Lezione 35 di 51.
I punti anomali sono facili da isolare. Suddividi i dati a caso, ancora e ancora, finché un punto rimane da solo:
Il punto più lontano ha richiesto 2 tagli, quello affollato 8. Una foresta di isolamento calcola la media dei tagli su 100 alberi casuali:
from sklearn.ensemble import IsolationForest
forest = IsolationForest(contamination=0.02, random_state=0)
flags = forest.fit_predict(X)fit_predict restituisce -1 per le righe anomale, 1 per le altre. contamination è la proporzione di righe che ti aspetti siano anomale.
Sfida
MedioUn porto ha registrato 160 turni di gru: spostamenti all’ora e consumo energetico per spostamento. Quali turni erano insoliti?
- Individua i turni anomali con una foresta di isolamento,
contamination=0.03,random_state=0. Stampa il conteggio come sotto. - Mostra i turni normali come punti, con etichetta
normal. - Cerchia quelli segnalati:
s=150, facecolors="none", edgecolors="red", con etichettaflagged. Aggiungi una legenda e visualizza il grafico.
Per un altro porto, con 200 turni:
Flagged: 6 of 200 shiftsCoddy descrive poi il tuo grafico.
Provalo tu
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.ensemble import IsolationForest
# Una riga per ogni turno delle gru al porto: velocità e consumo energetico
shifts = pd.read_csv("cranes.csv")
X = shifts[["moves_per_hour", "kwh_per_move"]]
# Non modificare le righe seguenti
fig, ax = plt.subplots()
ax.set_title("Crane Shifts")
ax.set_xlabel("Moves per hour")
ax.set_ylabel("Energy per move (kWh)")
# 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 Apprendimento non supervisionato
1Trovare gruppi
Apprendimento senza etichetteMisurare la similaritàK-Means a manoK-Means in scikit-learnRiepilogo: iscritti alla palestra4Clustering gerarchico
Unire passo dopo passoModelli agglomerativiDendrogrammiRiepilogo: razze canine7PCA nella pratica
Vedere 64 dimensioniComponenti come schemiComprimere e ricostruirePCA prima di un modelloRiepilogo: scanner facciale10Progetto: Esplorare le cifre
Osserva le cifreRiduci con PCARaggruppa le cifreDai un nome ai gruppiTrova gli elementi insoliti2Scelta di k
InerziaIl metodo del gomitoPunteggi silhouetteScala prima del clusteringRiepilogo: zone di consegna8Rilevamento delle anomalie
Individuare gli elementi anomaliIsolation ForestLocal Outlier FactorPunteggi di anomaliaRiepilogo: monitoraggio del serverEsercitati da solo: Compilatore Python online