Menu
CoddyTech
flag Ar iconالعربيةdown icon

مراقبة الاحتيال بالبطاقات

جزء من قسم التعلّم غير الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 49 من 51.

لا يستطيع فريق البطاقات في اتحاد ائتماني التحقق يدويًا إلا من عدد قليل من المدفوعات يوميًا. في الشهر الماضي، اختبأت حالات الاحتيال عند الأطراف:

مدفوعات البطاقات الـ300 في الشهر الماضي، ساعة اليوم على المحور الأفقي والمبلغ على المحور الرأسي بمقياس لوغاريتمي: تملأ المدفوعات السليمة باللون الرمادي منتصف النهار، وتشير علامات × الحمراء إلى 12 حالة احتيال مُبلّغ عنها، منها مبالغ صغيرة جدًا ليلًا ومبالغ كبيرة جدًا في أي ساعة

لكن لا أحد يعلم بوجود احتيال إلا بعد أن يشتكي أحد العملاء، بعد أسابيع. لذلك، يجب أن يكشف كاشفان عن المدفوعات الشاذة من دون أي تسميات على الإطلاق.

وصلت شكاوى هذا الأسبوع. أيُّ كاشف كان سيكتشف عددًا أكبر منها؟

challenge icon

التحدي

صعب

مدفوعات هذا الأسبوع وعددها 400 موجودة في payments.csv؛ يقرأ البرنامج عدد المدفوعات التي يمكن للفريق التحقق منها، budget.

  1. قِس الميزات الأربع.
  2. علِّم budget من المدفوعات باستخدام غابة العزل (random_state=0) وعامل القيم الشاذة المحلي (20 جارًا).
  3. افتح fraud الآن فقط: اطبع ما اكتشفته كل قائمة، وعدد المدفوعات السليمة التي جعلت الفريق يتحقق منها.
  4. أرسل إلى الفريق القائمة التي اكتشفت عددًا أكبر: 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())

# اكتب الكود الخاص بك أدناه
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس التعلّم غير الخاضع للإشراف

تدرّب بنفسك: مترجم Python عبر الإنترنت