Menu
CoddyTech

Oceny anomalii

Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 37 z 51.

Odpowiedź „tak” lub „nie” ukrywa, jak nietypowy jest wiersz. score_samples przypisuje każdemu wierszowi wynik: im niższy, tym bardziej nietypowy. W przypadku recept z apteki:

forest = IsolationForest(random_state=0).fit(X)
rx["score"] = forest.score_samples(X)
print(rx.sort_values("score").head(3))

Wyświetla trzy najbardziej nietypowe:

     pills  refills  price     score
17     300        0  120.0 -0.881478
88      28       11   11.5 -0.708524
120     30        1   64.0 -0.700620

Histogram wyników anomalii dla 150 recept: większość mieści się w przedziale od -0.55 do -0.35, kilka ciągnie się w lewo do -0.88, a czerwony przerywany próg na poziomie -0.6 wskazuje 4 pozycje do sprawdzenia

To, gdzie ciąć, zależy od Ciebie: ile wierszy może sprawdzić jedna osoba? Sortuj, aby ustalić ranking, i porównaj z progiem, aby oznaczyć.

challenge icon

Wyzwanie

Średni

Audytor ma czas tylko na sprawdzenie kilku roszczeń dotyczących wydatków. Kod początkowy dopasowuje las izolacyjny; program odczytuje n i próg.

  1. Oblicz wynik dla każdego roszczenia i umieść go w nowej kolumnie score.
  2. Wypisz n najbardziej nietypowych roszczeń, zaczynając od najdziwniejszego, jak poniżej.
  3. Wypisz, ile roszczeń ma wynik poniżej progu.

Dla innej firmy: 2 i -0.6:

Most unusual claims:
  C003: 1960 EUR, score -0.763
  C040: 80 EUR, score -0.757
Below -0.6: 6 claims

Spróbuj swoich sił

import pandas as pd
from sklearn.ensemble import IsolationForest

# Jeden wiersz na każdy wniosek o zwrot kosztów: kwota, rachunki, godzina złożenia wniosku i liczba dni od podróży
claims = pd.read_csv("claims.csv")
X = claims[["amount_eur", "items", "hour", "days_late"]]
n = int(input())
threshold = float(input())

# Z Isolation Forest: model lasu dopasowany do wszystkich wniosków
forest = IsolationForest(random_state=0).fit(X)

# Napisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Uczenie nienadzorowane

Poćwicz samodzielnie: Kompilator Python online