Menu
CoddyTech

Anomali Puanları

Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 37 / 51.

Bir evet ya da hayır, bir satırın ne kadar sıra dışı olduğunu gizler. score_samples her satıra bir puan verir: puan ne kadar düşükse, satır o kadar sıra dışıdır. Bir eczanenin reçeteleri için:

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

Bu, en tuhaf üç sonucu yazdırır:

     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

150 reçetenin anomali puanlarını gösteren histogram: çoğu -0.55 ile -0.35 arasında, birkaç tanesi sola doğru -0.88'e uzanıyor ve kontrol edilmesi gereken 4 reçete için -0.6'da kırmızı kesikli bir eşik var

Nereden keseceğine sen karar verirsin: Bir kişi kaç satırı kontrol edebilir? Sıralayarak derecelendir, işaretlemek için bir eşikle karşılaştır.

challenge icon

Görev

Orta

Bir denetçinin yalnızca birkaç gider talebini inceleyecek zamanı vardır. Başlangıç kodu bir izolasyon ormanı uydurur; program n değerini ve bir eşik değerini okur.

  1. Her talep için puan hesaplayıp yeni bir score sütununa yazın.
  2. Aşağıdaki gibi, en sıra dışı n talebi en sıra dışı olandan başlayarak yazdırın.
  3. Puanı eşik değerinin altında olan talep sayısını yazdırın.

Başka bir şirket için 2 ve -0.6 değerleri:

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

Kendin dene

import pandas as pd
from sklearn.ensemble import IsolationForest

# Her masraf talebi için bir satır: tutar, fişler, talebin yapıldığı saat ve seyahatten sonra geçen gün sayısı
claims = pd.read_csv("claims.csv")
X = claims[["amount_eur", "items", "hour", "days_late"]]
n = int(input())
threshold = float(input())

# Isolation Forest'tan: her masraf talebiyle eğitilmiş orman
forest = IsolationForest(random_state=0).fit(X)

# Kodunuzu aşağıya yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Denetimsiz Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi