BigQuery ML لرصد الاحتيال في معاملات بطاقات الائتمان باستخدام وحدة التحكّم

1. مقدمة

سوف تستخدم في هذا التمرين المعملي BigQuery لتدريب نموذج ببيانات جدولية وعرضه باستخدام وحدة تحكُّم. هذا العرض هو الإضافة المفضلة لعرض وتدريب النموذج المستند إلى SQL. تتيح ميزة BigQuery ML للمستخدمين إنشاء نماذج تعلُّم الآلة وتنفيذها في BigQuery باستخدام طلبات بحث SQL. الهدف هو إضفاء الطابع الديمقراطي على التعلم الآلي من خلال تمكين ممارسي SQL (لغة الاستعلام البنيوية) من إنشاء نماذج باستخدام أدواتهم الحالية وزيادة سرعة التطوير من خلال عدم الحاجة إلى حركة البيانات.

ما سوف تتعلمه

  • استكشاف البيانات المتاحة في BigQuery
  • إنشاء نموذج باستخدام SQL في BigQuery باستخدام وحدة التحكم
  • تقييم نتائج النموذج الذي تمّ إنشاؤه
  • توقُّع المعاملة إذا كانت احتيالية أم لا باستخدام النموذج الذي تم إنشاؤه

2. لمحة عن البيانات

تحتوي مجموعات البيانات على معاملات تم إجراؤها بواسطة بطاقات الائتمان في سبتمبر 2013 بواسطة حاملي بطاقات أوروبيين. تعرض مجموعة البيانات هذه المعاملات التي حدثت خلال يومين، حيث سجّلنا 492 عملية احتيال من أصل 284807 معاملة. وهي غير متوازنة إلى حد كبير، إذ تمثل الفئة الإيجابية (الاحتيال) 0.172% من جميع المعاملات.

وهو يتضمّن فقط متغيّرات الإدخال الرقمية التي تنتج عن تحويل PCA. للأسف، لا يمكننا تقديم الميزات الأصلية والمزيد من المعلومات الأساسية حول البيانات بسبب مشاكل متعلقة بالسرية.

  1. الميزات V1 وV2 و... V28 هي المكوّنات الأساسية التي تم الحصول عليها من خلال PCA، والميزات الوحيدة التي لم يتم تغييرها باستخدام PCA هي "الوقت" و"المبلغ".
  2. ميزة "الوقت" يحتوي على الثواني المنقضية بين كل معاملة والمعاملة الأولى في مجموعة البيانات.
  3. ميزة "المبلغ" هي مبلغ المعاملة، ويمكن استخدام هذه الميزة للتعلّم المستنِد إلى التكلفة والمستند إلى التكلفة.
  4. الميزة "الفئة" هي متغيّر الاستجابة، وتأخذ القيمة 1 في حال الاحتيال و0 في الحالات الأخرى.

وتم جمع مجموعة البيانات وتحليلها خلال تعاون بحثي بين Worldline ومجموعة تعلّم الآلة ( http://mlg.ulb.ac.be) من جامعة ULB (جامعة بروكسل) في مجال التنقيب عن البيانات الضخمة واكتشاف الاحتيال.

يتوفّر مزيد من التفاصيل حول المشاريع الحالية والسابقة حول مواضيع ذات صلة على الموقع الإلكتروني https://www.researchgate.net/project/Fraud-detection-5 وصفحة مشروع DefeatFraud.

الاقتباس:

"أندريا دال بوتسولو" و"أوليفر كايلين" و"ريد أ. "جونسون" و"جيانلوكا بونتيمبي". معايرة الاحتمالية باستخدام تقليل العيّنات للتصنيف غير المتوازن في ندوة حول الذكاء الحاسوبي والتنقيب عن البيانات (CIDM)، معهد معهد الهندسة الكهربائية والإلكترونية (IEEE)، 2015

دال بوتسولو، أندريا؛ كايلين، أوليفيير؛ لو بورن، يان آيل؛ ووترشوت وسيرج بونتيمبي، جيانلوكا. دروس مستفادة حول رصد عمليات الاحتيال باستخدام بطاقات الائتمان من منظور ممارس، الأنظمة المختصّة مع التطبيقات، 41,10,4915-4928,2014، Pergamon

دال بوتسولو، أندريا؛ بوراكشي، جياكومو؛ كايلين، أوليفيير؛ أليبي، سيزار؛ بونتيمبي، جيانلوكا. الكشف عن عمليات الاحتيال المرتبطة ببطاقات الائتمان: نموذج واقعي واستراتيجية تعلُّم جديدة ومعاملات معهد الهندسة الكهربائية والإلكترونية (IEEE) على الشبكات العصبية وأنظمة التعلّم و29,8,3784-3797,2018,IEEE

"دال بوزولو"، و"أندريا" تكنولوجيا تعلُّم الآلة التكيّفية لرصد عمليات الاحتيال المتعلّقة ببطاقات الائتمان رسالة ULB MLG الدكتوراه (بإشراف جي. Bontempi)

كارسيلو، فابريزيو؛ دال بوتسولو، أندريا؛ Le Borgne, Yann-Aël؛ كايلين، أوليفيير؛ "مازر" و"يانيس" بونتيمبي، جيانلوكا. Scarff: إطار عمل قابل للتطوير لبث الكشف عن عمليات الاحتيال المتعلقة ببطاقات الائتمان باستخدام Spark، Information fusion، 41، 182-194، 2018، Elsefer

كارسيلو، فابريزيو؛ Le Borgne, Yann-Aël؛ كايلين، أوليفيير؛ بونتيمبي، جيانلوكا. بث استراتيجيات التعلّم النشط لرصد عمليات الاحتيال في بطاقات الائتمان في الواقع: التقييم والتمثيل المرئي، International Journal of Data Science and Analytics، 5,4,285-300,2018، Springer International Publishing

"بيرتراند ليبيشوت" و"يان أيل لو بورني" و"ليون هي" و"فريدريك أوبليه" و"جيانلوكا بونتيمبي" "أساليب تعلُّم متعمقة للنطاق ورصد الاحتيال في بطاقات الائتمان"، وتقرير INNSBDDL 2019: أحدث التطورات في البيانات الضخمة والتعلّم المتعمق، pp 70-898

"فابريزيو كارسيلو"، و"يان أيل لو بورني"، و"أوليفييه كايلين"، و"فريدريك أوبليه"، و"جيانلوكا بونتيمبي"، والجمع بين التعلّم غير الخاضع للإشراف والتعلم الخاضع للإشراف في رصد الاحتيال في بطاقات الائتمان ، لعام 2019

3- إعداد البيئة

ستحتاج إلى مشروع Google Cloud Platform مع تفعيل الفوترة لتشغيل هذا الدرس التطبيقي حول الترميز. لإنشاء مشروع، يُرجى اتّباع التعليمات هنا.

  1. تفعيل واجهة bigquery API

انتقِل إلى BigQuery واختَر "تفعيل" إذا لم يسبق لك تفعيله. ستحتاج هذا لإنشاء النموذج.

4. استكشاف البيانات

الخطوة 1: الانتقال إلى BigQuery

ابحث عن BigQuery على https://cloud.google.com/console.

الخطوة 2: استكشاف البيانات باستخدام طلب البحث

في المحرر ، اكتب استعلام SQL (لغة الاستعلام البنيوية) أدناه لمراجعة البيانات في مجموعة البيانات العامة .

SELECT * FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection` LIMIT 5

الخطوة 3: التنفيذ

اضغط على الأمر "Run" أعلاه لتنفيذ الاستعلام

c670e136ecd58236.png

النتائج

يجب أن يكون في لوحة "Query Results" (نتائج الاستعلام) ويبدو على النحو التالي. قد تتفاوت البيانات

be082fb135879158.png

استكشف الأعمدة المعنية والمخرجات.

يمكنك تشغيل استعلامات متعددة لفهم كيفية توزيع البيانات. قد تتضمن بعض الأمثلة

SELECT count(*) FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection` 
where Class=0;
SELECT count(*) FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection` 
where Class=1;

5- إنشاء مجموعة بيانات إخراج

الخطوة 1: إنشاء مجموعة بيانات لإنشاء النماذج

  1. في لوحة "Explorer" (المستكشف) - على الجانب الأيمن اختر المشروع الذي تعمل عليه حاليًا ، وانقر على النقاط الثلاث بجواره

7618699754e066bd.png

  1. انقر فوق "Create Dataset" (إنشاء مجموعة بيانات) في أعلى اليمين

17851cc9db05dc1.png

  1. أدخِل تفاصيل اسم مجموعة البيانات والاحتفاظ بها والموقع الجغرافي وما إلى ذلك استخدام هذه الإعدادات

b8b6731408f61d57.png

6- إنشاء نموذج الانحدار اللوجستي

الخطوة 1: إنشاء العبارة

في نافذة الاستعلام، اكتب الاستعلام أدناه لإنشاء نموذج. افهم الخيارات الرئيسية باستخدام هذه العبارة. يمكنك الاطّلاع على المزيد من التفاصيل في هذا الرابط.

تشير INPUT_LABEL_COLS إلى تصنيف التنبؤ

تُستخدم Auto_Class_WEIGHTS لمجموعات البيانات غير المتوازنة.

قد يشير MODEL_TYPE إلى الخوارزمية المستخدمة في هذه الحالة هي الانحدار اللوجستي.

تشير DATA_SPLIT_Method إلى التقسيم بين بيانات التطبيق والاختبار.

CREATE OR REPLACE MODEL advdata.ulb_fraud_detection 
TRANSFORM(
    * EXCEPT(Amount),
    SAFE.LOG(Amount) AS log_amount
)
OPTIONS(
    INPUT_LABEL_COLS=['class'],
    AUTO_CLASS_WEIGHTS = TRUE,
    DATA_SPLIT_METHOD='seq',
    DATA_SPLIT_COL='Time',
    MODEL_TYPE='logistic_reg'
) AS

SELECT 
 *
FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection`

الخطوة 2: التنفيذ

شغِّل العبارة أعلاه. قد يستغرق إكمال هذه الخطوة بضع دقائق

ملاحظة الأشياء الرئيسية بعد اكتمال التشغيل

3385a54d3907443e.png

  1. سيتم إنشاء النموذج في لوحة المستكشف
  2. ستحتوي لوحة "نتائج طلب البحث" على المدة التي استغرقتها لمعالجة لغة SQL (لغة الاستعلام البنيوية) مثل أي عبارة SQL.
  3. ستحتوي لوحة "نتائج طلب البحث" أيضًا على رابط "الانتقال إلى النموذج" لتستكشفه

الخطوة 3: الاستكشاف

استكشف النموذج الذي تم إنشاؤه بالنقر فوق "Go to model" (الانتقال إلى النموذج) أو من لوحة "Explorer" (المستكشف). تقدم علامات التبويب معلومات عن النموذج الذي تم إنشاؤه والتدريب والتقييم وما إلى ذلك مراجعة النتائج

b350f1b94835f2d1.png

سنتعرّف على مزيد من التفاصيل في الأقسام التالية.

لمزيد من المعلومات حول الانحدار اللوجستي، يُرجى الاطّلاع هنا.

7. استكشاف مقاييس تقييم النماذج

في هذه الخطوة، سنرى مستوى أداء النموذج.

بمجرد اكتمال مهمة تدريب النموذج، انقر فوق النموذج الذي تدربت عليه للتو وألق نظرة على علامة التبويب "تقييم". هناك العديد من مقاييس التقييم هنا - سنركز على مقياس :roc_auc واحد فقط

 SELECT * FROM ML.EVALUATE(MODEL advdata.ulb_fraud_detection)

ستبدو النتائج على النحو التالي. يكون roc_auc أكثر أهمية بشكل عام على مجموعة البيانات غير المتوازنة

c3c80286082dc336.png

معرفة المزيد عن النتائج. ابحث عن مستندات تعلُّم الآلة.تقييم الأداء هنا

الدقة والاستدعاء

منحنى RC وAUC

8. توقُّع الصف لفترة معيّنة

اضغط على "Compose a new query" (إنشاء استعلام جديد) ونفِّذ لغة SQL (لغة الاستعلام البنيوية) أدناه. يتضمّن الوقت المحدّد هنا مبلغًا احتياليًا. نحاول تقييم مدى نجاح التوقع

SELECT Amount, predicted_class_probs, Class
FROM ML.PREDICT( MODEL advdata.ulb_fraud_detection,
 (SELECT * FROM `bigquery-public-data.ml_datasets.ulb_fraud_detection` WHERE Time = 85285.0)
)

من المفترض أن تبدو المخرجات على النحو التالي (قد تختلف الأرقام)

676fc8accdab2f6c.png

في هذه الحالة، نعرض المبلغ مع الاحتمالية المرتبطة بالعلامة. يشير عمود الفئة هنا إلى النتائج الفعلية.

لمعرفة المزيد عن ML.PREDICT. انظر هنا

9. تنظيف

إذا كنت ترغب في تنظيف الموارد التي تم إنشاؤها باستخدام هذا التمرين المعملي، فافتح مجموعة البيانات من لوحة "Explorer" (المستكشف) على الجانب الأيمن

e7d18fadd2b781be.png

انقر فوق "Delete Dataset" (حذف مجموعة البيانات) في الزاوية اليمنى العليا

b47bc819869bed6c.png

أدخِل اسم مجموعة البيانات مرة أخرى لتأكيد التفاصيل. في هذه الحالة، سيكون هذا advdata

10. تهانينا

تهانينا، لقد نجحت في إنشاء نموذجك الأول وتقييمه وتوقُّعه باستخدام تعلُّم الآلة المراقَب.

أنت الآن تعرف الخطوات الأساسية اللازمة لإنشاء نموذج انحدار لوجستي.

الخطوات التالية

تحقق من بعض هذه الطرق الأخرى المتضمنة في التنبؤ

المستندات المرجعية