ציוני חריגות
חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 37 מתוך 51.
תשובת כן או לא מסתירה עד כמה שורה חריגה. score_samples נותנת לכל שורה ציון: ככל שהוא נמוך יותר, כך היא חריגה יותר. עבור המרשמים של בית מרקחת:
forest = IsolationForest(random_state=0).fit(X)
rx["score"] = forest.score_samples(X)
print(rx.sort_values("score").head(3))כך מוצגים שלושת הערכים החריגים ביותר:
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איפה לחתוך זו הבחירה שלך: כמה שורות אדם יכול לבדוק? מיין כדי לדרג, והשווה לסף כדי לסמן.
אתגר
בינונילמבקר יש זמן לבדוק רק כמה תביעות הוצאות. קוד הפתיחה מתאים יער בידוד; התוכנית קוראת את n ואת הסף.
- חשבו ציון לכל תביעה בעמודה חדשה
score. - הדפיסו את
nהתביעות החריגות ביותר, מהחריגה ביותר תחילה, כפי שמוצג להלן. - הדפיסו כמה תביעות קיבלו ציון נמוך מהסף.
עבור חברה אחרת, 2 ו--0.6:
Most unusual claims:
C003: 1960 EUR, score -0.763
C040: 80 EUR, score -0.757
Below -0.6: 6 claimsנסו בעצמכם
import pandas as pd
from sklearn.ensemble import IsolationForest
# שורה אחת לכל דרישה להחזר הוצאות: הסכום, הקבלות, השעה שבה הוגשה ומספר הימים לאחר הנסיעה
claims = pd.read_csv("claims.csv")
X = claims[["amount_eur", "items", "hour", "days_late"]]
n = int(input())
threshold = float(input())
# מתוך Isolation Forest: היער שהותאם לכל דרישות ההחזר
forest = IsolationForest(random_state=0).fit(X)
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה בלתי מונחית
תרגלו בעצמכם: קומפיילר Python אונליין