Isolation Forest
Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 35 z 51.
Nietypowe punkty łatwo odizolować. Dziel dane losowo, raz za razem, aż jeden punkt zostanie sam:
Odległy punkt wymagał 2 cięć, a zatłoczony — 8. Las izolacyjny uśrednia liczbę cięć dla 100 losowych drzew:
from sklearn.ensemble import IsolationForest
forest = IsolationForest(contamination=0.02, random_state=0)
flags = forest.fit_predict(X)fit_predict zwraca -1 dla nietypowych wierszy, a 1 dla pozostałych. contamination to udział wierszy, które uznajesz za nietypowe.
Wyzwanie
ŚredniPort odnotował 160 zmian pracy dźwigów: liczbę ruchów na godzinę i zużycie energii na ruch. Które zmiany były nietypowe?
- Oznacz nietypowe zmiany za pomocą lasu izolacyjnego,
contamination=0.03,random_state=0. Wypisz liczbę, jak poniżej. - Przedstaw normalne zmiany jako kropki z etykietą
normal. - Zakreśl oznaczone zmiany:
s=150, facecolors="none", edgecolors="red", z etykietąflagged. Dodaj legendę i wyświetl wykres.
Dla innego portu, z 200 zmianami:
Flagged: 6 of 200 shiftsCoddy następnie opisze twój wykres.
Spróbuj swoich sił
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.ensemble import IsolationForest
# Jeden wiersz na każdą zmianę pracy dźwigu w porcie: szybkość i zużycie energii
shifts = pd.read_csv("cranes.csv")
X = shifts[["moves_per_hour", "kwh_per_move"]]
# Nie zmieniaj poniższych linii
fig, ax = plt.subplots()
ax.set_title("Crane Shifts")
ax.set_xlabel("Moves per hour")
ax.set_ylabel("Energy per move (kWh)")
# Napisz swój kod poniżej
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Uczenie nienadzorowane
1Znajdowanie grup
Uczenie się bez etykietMierzenie podobieństwaK-Means krok po krokuK-Means w scikit-learnPodsumowanie: członkowie siłowni4Klasteryzacja hierarchiczna
Łączenie krok po krokuModele aglomeracyjneDendrogramyPodsumowanie: rasy psów7PCA w praktyce
Poznajemy 64 wymiarySkładowe jako wzorceKompresuj i odtwórzPCA przed modelemPodsumowanie: skaner twarzy10Projekt: Odkrywca cyfr
Przyjrzyj się cyfromZmniejsz wymiar za pomocą PCAGrupuj cyfryNazwij grupyZnajdź te nietypowe2Wybór k
InercjaMetoda łokciaWyniki silhouetteSkalowanie przed klasteryzacjąPodsumowanie: strefy dostaw8Wykrywanie anomalii
Znajdowanie nietypowych elementówIsolation ForestLocal Outlier FactorOceny anomaliiPodsumowanie: Monitoring serweraPoćwicz samodzielnie: Kompilator Python online