Menu
CoddyTech

ציוני חריגות

חלק מהיחידה למידה בלתי מונחית במסלול ה-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

היסטוגרמה של ציוני החריגות של 150 מרשמים: רובם בין ‎-0.55 ל-‎-0.35, כמה מהם נמשכים שמאלה עד ‎-0.88, וסף מקווקו אדום ב-‎-0.6 עם 4 לבדיקה

איפה לחתוך זו הבחירה שלך: כמה שורות אדם יכול לבדוק? מיין כדי לדרג, והשווה לסף כדי לסמן.

challenge icon

אתגר

בינוני

למבקר יש זמן לבדוק רק כמה תביעות הוצאות. קוד הפתיחה מתאים יער בידוד; התוכנית קוראת את n ואת הסף.

  1. חשבו ציון לכל תביעה בעמודה חדשה score.
  2. הדפיסו את n התביעות החריגות ביותר, מהחריגה ביותר תחילה, כפי שמוצג להלן.
  3. הדפיסו כמה תביעות קיבלו ציון נמוך מהסף.

עבור חברה אחרת, 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)

# כתבו את הקוד שלכם למטה
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה למידה בלתי מונחית

תרגלו בעצמכם: קומפיילר Python אונליין