מעקב אחר הונאות בכרטיסים
חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 49 מתוך 51.
צוות הכרטיסים של איגוד אשראי יכול לבדוק ידנית רק כמה תשלומים ביום. בחודש שעבר, מקרי ההונאה הסתתרו בקצוות:
אבל איש אינו יודע שמדובר בהונאה עד שלקוח מתלונן, שבועות לאחר מכן. לכן שני גלאים צריכים למצוא את התשלומים החריגים בלי תוויות כלל.
התלונות של השבוע הגיעו. איזה גלאי היה מזהה יותר מהן?
אתגר
קשה400 התשלומים של השבוע נמצאים ב־payments.csv; התוכנית קוראת כמה תשלומים הצוות יכול לבדוק, budget.
- תקנן את ארבעת המאפיינים.
- סמן
budgetתשלומים באמצעות Isolation Forest (random_state=0) ובאמצעות Local Outlier Factor (20 שכנים). - רק עכשיו פתח את
fraud: הדפס כמה תשלומים כל רשימה תפסה, וכמה תשלומים תקינים היא גרמה לצוות לבדוק. - שלח לצוות את הרשימה שתפסה יותר:
the isolation forest's listאוthe local outlier factor's list, אחרתeither list, they tie.
עבור החודש שעבר ותקציב של 10:
Budget: 10 of 300 payments
Isolation forest: caught 6 of 12 frauds, 4 honest payments checked
Local outlier factor: caught 10 of 12 frauds, 0 honest payments checked
Send the team: the local outlier factor's listנסו בעצמכם
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor
# שורה אחת לכל תשלום בכרטיס; fraud הוא 1 עבור תשלומים שלקוחות דיווחו עליהם כעבור שבועות
payments = pd.read_csv("payments.csv")
features = ["amount_eur", "hour", "km_from_home", "minutes_since_last"]
# כמה תשלומים הצוות יכול לבדוק ידנית
budget = int(input())
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה בלתי מונחית
תרגלו בעצמכם: קומפיילר Python אונליין