Amazon SageMaker PlatoBlockchain Data Intelligence کے ساتھ مشین لرننگ کا استعمال کرتے ہوئے جعلی لین دین کا پتہ لگائیں۔ عمودی تلاش۔ عی

Amazon SageMaker کے ساتھ مشین لرننگ کا استعمال کرتے ہوئے جعلی لین دین کا پتہ لگائیں۔

بدنیتی پر مبنی صارفین اور دھوکہ دہی کے لین دین کی وجہ سے کاروبار ہر سال اربوں ڈالر کا نقصان کر سکتے ہیں۔ جیسے جیسے زیادہ سے زیادہ کاروباری سرگرمیاں آن لائن منتقل ہو رہی ہیں، آن لائن سسٹمز میں دھوکہ دہی اور بدسلوکی بھی بڑھ رہی ہے۔ آن لائن فراڈ سے نمٹنے کے لیے، بہت سے کاروبار اصول پر مبنی فراڈ کا پتہ لگانے کے نظام استعمال کر رہے ہیں۔

تاہم، دھوکہ دہی کا پتہ لگانے کے روایتی نظام انسانی ماہرین کے ہاتھ سے تیار کردہ اصولوں اور فلٹرز پر انحصار کرتے ہیں۔ فلٹرز اکثر ٹوٹ پھوٹ کا شکار ہو سکتے ہیں اور ہو سکتا ہے کہ قواعد دھوکہ دہی کے سگنلز کے مکمل اسپیکٹرم کو حاصل نہ کر سکیں۔ مزید برآں، جب کہ دھوکہ دہی کے رویے ہمیشہ تیار ہو رہے ہیں، پہلے سے طے شدہ اصولوں اور فلٹرز کی جامد نوعیت کی وجہ سے دھوکہ دہی کا پتہ لگانے کے روایتی نظام کو مؤثر طریقے سے برقرار رکھنا اور بہتر بنانا مشکل ہو جاتا ہے۔

اس پوسٹ میں، ہم آپ کو دکھاتے ہیں کہ کس طرح مشین لرننگ (ML) کا استعمال کرتے ہوئے ایک متحرک، خود کو بہتر بنانے والا، اور برقرار رکھنے کے قابل کریڈٹ کارڈ فراڈ کا پتہ لگانے والا نظام بنایا جائے۔ ایمیزون سیج میکر.

متبادل طور پر، اگر آپ کوڈ لکھے بغیر اپنی مرضی کے مطابق فراڈ کا پتہ لگانے والے ماڈلز بنانے کے لیے مکمل طور پر منظم سروس تلاش کر رہے ہیں، تو ہم چیک آؤٹ کرنے کی تجویز کرتے ہیں۔ ایمیزون فراڈ ڈیٹیکٹر. Amazon فراڈ ڈیٹیکٹر AWS اور Amazon.com سے 20 سال سے زیادہ فراڈ کا پتہ لگانے کی مہارت کا فائدہ اٹھاتے ہوئے، ان کے ڈیٹا کے لیے اپنی مرضی کے مطابق بنائے گئے فراڈ ڈیٹیکشن ماڈلز کو خودکار بنانے کے لیے ML تجربہ نہیں رکھنے والے صارفین کو قابل بناتا ہے۔

حل جائزہ

یہ حل SageMaker کا استعمال کرتے ہوئے کریڈٹ کارڈ فراڈ کا پتہ لگانے کے نظام کا بنیادی حصہ بناتا ہے۔ ہم الگورتھم کا استعمال کرتے ہوئے ایک غیر زیر نگرانی بے ضابطگی کا پتہ لگانے والے ماڈل کی تربیت دے کر شروع کرتے ہیں۔ رینڈم کٹ فاریسٹ (RCF). پھر ہم الگورتھم کا استعمال کرتے ہوئے دو زیر نگرانی درجہ بندی کے ماڈلز کو تربیت دیتے ہیں۔ XGBoostایک بیس لائن ماڈل کے طور پر اور دوسرا پیشین گوئیاں کرنے کے لیے، ڈیٹا میں انتہائی طبقاتی عدم توازن کو دور کرنے کے لیے مختلف حکمت عملیوں کا استعمال۔ آخر میں، ہم ایک بہترین XGBoost ماڈل کو تربیت دیتے ہیں۔ ہائپر پیرامیٹر آپٹیمائزیشن (HPO) ماڈل کی کارکردگی کو مزید بہتر بنانے کے لیے۔

نمونہ ڈیٹاسیٹ کے لیے، ہم عوامی، گمنام کریڈٹ کارڈ کے لین دین کا استعمال کرتے ہیں۔ ڈیٹاسیٹ جو اصل میں a کے حصے کے طور پر جاری کیا گیا تھا۔ تحقیق ورلڈ لائن اور کا تعاون ULB کا مشین لرننگ گروپ (Université Libre de Bruxelles)۔ واک تھرو میں، ہم اس بات پر بھی بات کرتے ہیں کہ آپ اپنے ڈیٹا کو استعمال کرنے کے لیے حل کو کس طرح اپنی مرضی کے مطابق بنا سکتے ہیں۔

حل کے نتائج درج ذیل ہیں:

  • ایک غیر زیر نگرانی سیج میکر آر سی ایف ماڈل ماڈل ہر ٹرانزیکشن کے لیے ایک بے ضابطگی اسکور دیتا ہے۔ کم سکور کی قدر بتاتی ہے کہ لین دین کو عام سمجھا جاتا ہے (غیر فراڈ)۔ زیادہ قیمت اس بات کی نشاندہی کرتی ہے کہ لین دین فراڈ ہے۔ کم اور زیادہ کی تعریفیں اطلاق پر منحصر ہوتی ہیں، لیکن عام مشق یہ بتاتی ہے کہ اوسط سکور سے تین معیاری انحراف سے آگے کے اسکور کو غیر معمولی سمجھا جاتا ہے۔
  • ایک زیر نگرانی سیج میکر XGBoost انتہائی غیر متوازن ڈیٹا کے مسئلے کو حل کرنے کے لیے اپنے بلٹ ان ویٹنگ اسکیما کا استعمال کرتے ہوئے تربیت یافتہ ماڈل۔
  • ایک زیر نگرانی SageMaker XGBoost ماڈل کا استعمال کرتے ہوئے تربیت یافتہ مصنوعی اقلیت سے زیادہ نمونے لینے کی تکنیک (SMOTE)۔
  • HPO کے ساتھ ایک تربیت یافتہ SageMaker XGBoost ماڈل۔
  • ہر لین دین کے فراڈ ہونے کے امکان کی پیشین گوئیاں۔ اگر لین دین کا تخمینہ امکان حد سے زیادہ ہے، تو اسے دھوکہ دہی کے طور پر درجہ بندی کیا جاتا ہے۔

یہ ظاہر کرنے کے لیے کہ آپ اپنے موجودہ کاروباری انفراسٹرکچر میں اس حل کو کس طرح استعمال کر سکتے ہیں، ہم اس کا استعمال کرتے ہوئے تعینات ماڈل اینڈ پوائنٹ پر REST API کال کرنے کی ایک مثال بھی شامل کرتے ہیں۔ او ڈبلیو ایس لامبڈا۔ RCF اور XGBoost دونوں ماڈلز کو متحرک کرنے کے لیے۔

مندرجہ ذیل خاکہ حل کے فن تعمیر کی وضاحت کرتا ہے۔

شرائط

حل کو اپنے اکاؤنٹ میں آزمانے کے لیے، یقینی بنائیں کہ آپ کے پاس درج ذیل چیزیں موجود ہیں:

جب اسٹوڈیو مثال تیار ہوجائے تو، آپ اسٹوڈیو لانچ کرسکتے ہیں اور جمپ اسٹارٹ تک رسائی حاصل کرسکتے ہیں۔ جمپ سٹارٹ حل SageMaker نوٹ بک مثالوں میں دستیاب نہیں ہیں، اور آپ SageMaker APIs کے ذریعے ان تک رسائی حاصل نہیں کر سکتے AWS کمانڈ لائن انٹرفیس (AWS CLI)۔

حل شروع کریں۔

حل شروع کرنے کے لیے، درج ذیل مراحل کو مکمل کریں:

  1. میں جمپ اسٹارٹ لانچر کا استعمال کرکے جمپ اسٹارٹ کھولیں۔ شروع کریں سیکشن یا بائیں سائڈبار میں جمپ اسٹارٹ آئیکن کو منتخب کرکے۔
  2. کے تحت حلمنتخب کریں بدنیتی پر مبنی صارفین اور لین دین کا پتہ لگائیں۔ حل کو دوسرے اسٹوڈیو ٹیب میں کھولنے کے لیے۔
    حل تلاش کریں۔
  3. حل والے ٹیب پر، منتخب کریں۔ شروع حل شروع کرنے کے لئے.
    حل شروع کریں۔
    حل کے وسائل فراہم کیے گئے ہیں اور ایک اور ٹیب کھلتا ہے جو تعیناتی کی پیشرفت کو ظاہر کرتا ہے۔ جب تعیناتی ختم ہو جاتی ہے، ایک نوٹ بک کھولیں۔ بٹن ظاہر ہوتا ہے.
  4. میں سے انتخاب کریں نوٹ بک کھولیں۔ سٹوڈیو میں حل نوٹ بک کھولنے کے لیے۔
    نوٹ بک کھولیں۔

ڈیٹا کی چھان بین اور کارروائی کریں۔

ڈیفالٹ ڈیٹاسیٹ میں صرف عددی خصوصیات ہیں، کیونکہ اصل خصوصیات کو استعمال کرتے ہوئے تبدیل کر دیا گیا ہے۔ پرنسپل اجزاء کا تجزیہ (PCA) صارف کی رازداری کے تحفظ کے لیے۔ نتیجے کے طور پر، ڈیٹاسیٹ میں 28 PCA اجزاء، V1–V28، اور دو خصوصیات ہیں جو تبدیل نہیں ہوئی ہیں، رقم اور وقت۔ رقم سے مراد لین دین کی رقم ہے، اور وقت ڈیٹا میں کسی بھی لین دین اور پہلی ٹرانزیکشن کے درمیان گزرنے والے سیکنڈز ہیں۔

کلاس کالم اس بات سے مطابقت رکھتا ہے کہ آیا کوئی لین دین دھوکہ دہی پر مبنی ہے یا نہیں۔

نمونہ ڈیٹا

ہم دیکھ سکتے ہیں کہ اکثریت غیر فراڈ ہے، کیونکہ کل 284,807 مثالوں میں سے صرف 492 (0.173%) فراڈ ہیں۔ یہ انتہائی طبقاتی عدم توازن کا معاملہ ہے، جو دھوکہ دہی کا پتہ لگانے کے منظرناموں میں عام ہے۔

ڈیٹا کلاس کا عدم توازن

اس کے بعد ہم اپنا ڈیٹا لوڈنگ اور ٹریننگ کے لیے تیار کرتے ہیں۔ ہم ڈیٹا کو ٹرین سیٹ اور ٹیسٹ سیٹ میں تقسیم کرتے ہیں، پہلے کو ٹریننگ کے لیے اور بعد والے کو اپنے ماڈل کی کارکردگی کا اندازہ کرنے کے لیے استعمال کرتے ہیں۔ طبقاتی عدم توازن کو دور کرنے کے لیے کسی بھی تکنیک کو استعمال کرنے سے پہلے ڈیٹا کو تقسیم کرنا ضروری ہے۔ بصورت دیگر، ہم ٹرین سیٹ میں ٹیسٹ سیٹ سے معلومات لیک کر سکتے ہیں اور ماڈل کی کارکردگی کو نقصان پہنچا سکتے ہیں۔

اگر آپ اپنا تربیتی ڈیٹا لانا چاہتے ہیں تو یقینی بنائیں کہ یہ CSV فارمیٹ میں ٹیبلر ڈیٹا ہے، ڈیٹا کو اپ لوڈ کریں ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) بالٹی، اور نوٹ بک کوڈ میں S3 آبجیکٹ پاتھ میں ترمیم کریں۔

S3 میں ڈیٹا پاتھ

اگر آپ کے ڈیٹا میں غیر عددی اقدار کے ساتھ کلیدی کالم شامل ہیں، تو آپ کو ان اقدار کو ایک گرم انکوڈ کرنے کی ضرورت ہے (مثال کے طور پر، استعمال کرتے ہوئے، sklearn کا OneHotEncoderکیونکہ XGBoost الگورتھم صرف عددی ڈیٹا کو سپورٹ کرتا ہے۔

ایک غیر زیر نگرانی رینڈم کٹ فاریسٹ ماڈل کو تربیت دیں۔

دھوکہ دہی کا پتہ لگانے کے منظر نامے میں، ہمارے پاس عام طور پر بہت کم لیبل والی مثالیں ہوتی ہیں، اور دھوکہ دہی کا لیبل لگانے میں کافی وقت اور محنت لگ سکتی ہے۔ لہذا، ہم ہاتھ میں موجود بغیر لیبل والے ڈیٹا سے بھی معلومات نکالنا چاہتے ہیں۔ ہم یہ کام بے ضابطگی کا پتہ لگانے والے الگورتھم کا استعمال کرتے ہوئے کرتے ہیں، ڈیٹا کے اس اعلیٰ عدم توازن کا فائدہ اٹھاتے ہوئے جو دھوکہ دہی کا پتہ لگانے والے ڈیٹا سیٹس میں عام ہے۔

بے ضابطگی کا پتہ لگانا غیر زیر نگرانی سیکھنے کی ایک شکل ہے جہاں ہم ان کی خصوصیت کی خصوصیات کی بنیاد پر غیر معمولی مثالوں کی شناخت کرنے کی کوشش کرتے ہیں۔ رینڈم کٹ فاریسٹ ایک جدید ترین بے ضابطگی کا پتہ لگانے والا الگورتھم ہے جو درست اور قابل توسیع ہے۔ ڈیٹا کی ہر مثال کے ساتھ، RCF ایک بے ضابطگی اسکور کو جوڑتا ہے۔

ہم اپنے تربیتی ڈیٹاسیٹ پر بے ضابطگی کا پتہ لگانے والے ماڈل کو تربیت دینے کے لیے SageMaker بلٹ ان RCF الگورتھم کا استعمال کرتے ہیں، پھر اپنے ٹیسٹ ڈیٹاسیٹ پر پیشین گوئیاں کرتے ہیں۔

سب سے پہلے، ہم مثبت (دھوکہ دہی) اور منفی (غیر فراڈ) مثالوں کے لیے پیشن گوئی شدہ بے ضابطگی کے اسکور کا الگ الگ جائزہ لیتے ہیں، کیونکہ مثبت اور منفی مثالوں کی تعداد نمایاں طور پر مختلف ہوتی ہے۔ ہم توقع کرتے ہیں کہ مثبت (دھوکہ دہی والی) مثالوں میں بے ضابطگی کے اسکور نسبتاً زیادہ ہوں گے، اور منفی (غیر دھوکہ دہی والی) مثالوں میں کم بے ضابطگی کے اسکور ہوں گے۔ ہسٹگرامس سے، ہم مندرجہ ذیل نمونوں کو دیکھ سکتے ہیں:

  • مثبت مثالوں میں سے تقریباً نصف (بائیں ہسٹوگرام) میں بے ضابطگی کے اسکور 0.9 سے زیادہ ہیں، جب کہ زیادہ تر منفی مثالوں (دائیں ہسٹوگرام) میں بے ضابطگی کے اسکور 0.85 سے کم ہیں۔
  • غیر زیر نگرانی سیکھنے کے الگورتھم RCF کے پاس دھوکہ دہی اور غیر دھوکہ دہی والی مثالوں کی درست شناخت کرنے کی حدود ہیں۔ اس کی وجہ یہ ہے کہ لیبل کی کوئی معلومات استعمال نہیں کی جاتی ہے۔ ہم بعد کے مراحل میں لیبل کی معلومات جمع کرکے اور زیر نگرانی سیکھنے کے الگورتھم کا استعمال کرکے اس مسئلے کو حل کرتے ہیں۔

پیش گوئی کردہ بے ضابطگی کے اسکور

اس کے بعد، ہم ایک حقیقی دنیا کے منظر نامے کو فرض کرتے ہیں جہاں ہم ہر ٹیسٹ کی مثال کو اس کے بے ضابطگی کے اسکور کی بنیاد پر مثبت (دھوکہ دہی) یا منفی (غیر دھوکہ دہی) کے طور پر درجہ بندی کرتے ہیں۔ ہم درجہ بندی کے لیے 1.0 (ہسٹوگرام میں دکھائے گئے پیٹرن کی بنیاد پر) کے کٹ آف سکور کا انتخاب کرتے ہوئے، تمام ٹیسٹ کی مثالوں کے لیے اسکور ہسٹوگرام کو درج ذیل بناتے ہیں۔ خاص طور پر، اگر کسی مثال کا بے ضابطگی اسکور 1.0 سے کم یا اس کے برابر ہے، تو اسے منفی (غیر فراڈ) کے طور پر درجہ بندی کیا جاتا ہے۔ دوسری صورت میں، مثال کو مثبت (دھوکہ دہی) کے طور پر درجہ بندی کیا جاتا ہے.

ٹیسٹ کے نمونوں کے لیے اسکور کا ہسٹوگرام

آخر میں، ہم درجہ بندی کے نتائج کا زمینی سچائی کے لیبلز سے موازنہ کرتے ہیں اور تشخیصی میٹرکس کا حساب لگاتے ہیں۔ چونکہ ہمارا ڈیٹا سیٹ غیر متوازن ہے، اس لیے ہم تشخیصی میٹرکس استعمال کرتے ہیں۔ متوازن درستگی, کوہن کا کاپا اسکور, F1 سکور، اور آر او سی اے یو سیکیونکہ وہ ڈیٹا میں ہر کلاس کی فریکوئنسی کو مدنظر رکھتے ہیں۔ ان تمام میٹرکس کے لیے، ایک بڑی قدر بہتر پیشن گوئی کی کارکردگی کی نشاندہی کرتی ہے۔ نوٹ کریں کہ اس مرحلے میں ہم ابھی تک ROC AUC کی گنتی نہیں کر سکتے ہیں، کیونکہ ہر مثال پر RCF ماڈل سے مثبت اور منفی کلاسوں کا کوئی تخمینہ امکان نہیں ہے۔ ہم زیر نگرانی سیکھنے کے الگورتھم کا استعمال کرتے ہوئے بعد کے مراحل میں اس میٹرک کی گنتی کرتے ہیں۔

. آرسییف
متوازن درستگی 0.560023
کوہن کا کپا۔ 0.003917
F1 0.007082
آر او سی اے یو سی -

اس مرحلے سے، ہم دیکھ سکتے ہیں کہ غیر زیر نگرانی ماڈل پہلے سے ہی کلاسوں کے درمیان کچھ علیحدگی حاصل کر سکتا ہے، جس میں اعلیٰ بے ضابطگی کے اسکور جعلی مثالوں کے ساتھ منسلک ہوتے ہیں۔

بلٹ ان ویٹنگ اسکیما کے ساتھ ایک XGBoost ماڈل کو تربیت دیں۔

لیبل لگا ہوا تربیتی ڈیٹا کی مناسب مقدار جمع کرنے کے بعد، ہم خصوصیات اور کلاسوں کے درمیان تعلقات کو دریافت کرنے کے لیے ایک زیر نگرانی سیکھنے کا الگورتھم استعمال کر سکتے ہیں۔ ہم XGBoost الگورتھم کا انتخاب کرتے ہیں کیونکہ اس کا ٹریک ریکارڈ ثابت ہے، انتہائی قابل توسیع ہے، اور گمشدہ ڈیٹا سے نمٹ سکتا ہے۔ ہمیں اس بار ڈیٹا کے عدم توازن کو سنبھالنے کی ضرورت ہے، ورنہ اکثریتی طبقہ (غیر فراڈ یا منفی مثالیں) سیکھنے پر حاوی ہو جائیں گے۔

ہم SageMaker بلٹ ان XGBoost الگورتھم کنٹینر کا استعمال کرتے ہوئے اپنے پہلے زیر نگرانی ماڈل کو تربیت اور تعینات کرتے ہیں۔ یہ ہمارا بنیادی ماڈل ہے۔ ڈیٹا کے عدم توازن کو سنبھالنے کے لیے، ہم ہائپر پیرامیٹر استعمال کرتے ہیں۔ scale_pos_weight، جو منفی کلاس کی مثالوں کے مقابلے میں مثبت کلاس کی مثالوں کے وزن کو پیمانہ کرتا ہے۔ چونکہ ڈیٹاسیٹ انتہائی ترچھا ہے، اس لیے ہم نے اس ہائپر پیرامیٹر کو ایک قدامت پسند قدر پر سیٹ کیا: sqrt(num_nonfraud/num_fraud).

ہم مندرجہ ذیل ماڈل کو تربیت اور تعینات کرتے ہیں:

  1. SageMaker XGBoost کنٹینر URI بازیافت کریں۔
  2. وہ ہائپرپیرامیٹر سیٹ کریں جو ہم ماڈل ٹریننگ کے لیے استعمال کرنا چاہتے ہیں، بشمول وہ ایک جس کا ہم نے ذکر کیا ہے جو ڈیٹا کے عدم توازن کو سنبھالتا ہے، scale_pos_weight.
  3. ایک XGBoost تخمینہ کنندہ بنائیں اور اسے ہمارے ٹرین ڈیٹاسیٹ کے ساتھ تربیت دیں۔
  4. تربیت یافتہ XGBoost ماڈل کو SageMaker کے زیر انتظام اینڈ پوائنٹ پر تعینات کریں۔
  5. ہمارے ٹیسٹ ڈیٹاسیٹ کے ساتھ اس بیس لائن ماڈل کا اندازہ کریں۔

پھر ہم اپنے ماڈل کو انہی چار میٹرکس کے ساتھ جانچتے ہیں جیسا کہ آخری مرحلے میں بتایا گیا ہے۔ اس بار ہم ROC AUC میٹرک کا بھی حساب لگا سکتے ہیں۔

. آرسییف XGBoost
متوازن درستگی 0.560023 0.847685
کوہن کا کپا۔ 0.003917 0.743801
F1 0.007082 0.744186
آر او سی اے یو سی - 0.983515

ہم دیکھ سکتے ہیں کہ ایک زیر نگرانی سیکھنے کا طریقہ XGBoost وزنی اسکیما کے ساتھ (ہائپر پیرامیٹر کا استعمال کرتے ہوئے scale_pos_weight) غیر زیر نگرانی سیکھنے کے طریقہ کار RCF سے نمایاں طور پر بہتر کارکردگی حاصل کرتا ہے۔ تاہم، کارکردگی کو بہتر بنانے کی گنجائش ابھی باقی ہے۔ خاص طور پر، کوہن کے کپا سکور کو 0.8 سے اوپر اٹھانا عموماً بہت سازگار ہوگا۔

سنگل ویلیو میٹرکس کے علاوہ، ان میٹرکس کو دیکھنا بھی مفید ہے جو فی کلاس کارکردگی کی نشاندہی کرتے ہیں۔ مثال کے طور پر، کنفیوژن میٹرکس، فی کلاس پریزیشن، ریکال، اور F1 سکور ہمارے ماڈل کی کارکردگی کے بارے میں مزید معلومات فراہم کر سکتے ہیں۔

XGBoost ماڈل کا کنفیوژن میٹرکس

. صحت سے متعلق یاد f1 سکور حمایت
غیر فراڈ 1.00 1.00 1.00 28435
دھوکہ دہی 0.80 0.70 0.74 46

Lambda کے ذریعے اینڈ پوائنٹ پر ٹیسٹ ٹریفک بھیجتے رہیں

اپنے ماڈلز کو پروڈکشن سسٹم میں استعمال کرنے کا طریقہ دکھانے کے لیے، ہم نے اس کے ساتھ ایک REST API بنایا ہے۔ ایمیزون API گیٹ وے اور ایک لیمبڈا فنکشن۔ جب کلائنٹ ایپلیکیشنز REST API کو HTTP تخمینہ کی درخواستیں بھیجتی ہیں، جو Lambda فنکشن کو متحرک کرتی ہے، جو بدلے میں RCF اور XGBoost ماڈل کے اختتامی پوائنٹس کو طلب کرتی ہے اور ماڈلز سے پیشین گوئیاں واپس کرتی ہے۔ آپ لیمبڈا فنکشن کوڈ پڑھ سکتے ہیں اور لیمبڈا کنسول پر درخواستوں کی نگرانی کر سکتے ہیں۔

ہم نے ایک Python اسکرپٹ بھی بنایا ہے جو اپنے ٹیسٹ ڈیٹا کے ساتھ ان پٹ ڈیٹا کے ساتھ REST API کو HTTP تخمینہ کی درخواستیں کرتا ہے۔ یہ دیکھنے کے لیے کہ یہ کیسے ہوا، چیک کریں۔ generate_endpoint_traffic.py حل کے سورس کوڈ میں فائل۔ پیشن گوئی کے آؤٹ پٹ ایک کے ذریعے S3 بالٹی میں لاگ ان ہوتے ہیں۔ ایمیزون کائنیسس ڈیٹا فائر ہوز ترسیل کا سلسلہ. آپ Kinesis Data Firehose کنسول پر منزل S3 بالٹی کا نام تلاش کر سکتے ہیں، اور S3 بالٹی میں پیشین گوئی کے نتائج چیک کر سکتے ہیں۔

اوور سیمپلنگ تکنیک SMOTE کے ساتھ XGBoost ماڈل کو تربیت دیں۔

اب جب کہ ہمارے پاس XGBoost کا استعمال کرتے ہوئے ایک بنیادی ماڈل ہے، ہم دیکھ سکتے ہیں کہ آیا نمونے لینے کی تکنیکیں جو خاص طور پر غیر متوازن مسائل کے لیے بنائی گئی ہیں ماڈل کی کارکردگی کو بہتر بنا سکتی ہیں۔ ہم استعمال کرتے ہیں مصنوعی اقلیت سے زیادہ نمونے لینے (SMOTE)، جو موجودہ لوگوں کے درمیان نئے ڈیٹا پوائنٹس کو انٹرپول کر کے اقلیتی طبقے کا نمونہ بناتا ہے۔

اقدامات مندرجہ ذیل ہیں:

  1. ہمارے ٹرین ڈیٹاسیٹ کے اقلیتی طبقے (دھوکہ دہی والے طبقے) کو اوور سمپل کرنے کے لیے SMOTE کا استعمال کریں۔ SMOTE اقلیتی طبقے کو تقریباً 0.17–50% سے اوپر کرتا ہے۔ نوٹ کریں کہ یہ اقلیتی طبقے کے انتہائی زیادہ نمونے لینے کا معاملہ ہے۔ ایک متبادل یہ ہوگا کہ دوبارہ نمونے لینے کا ایک چھوٹا تناسب استعمال کیا جائے، جیسے کہ ہر ایک کے لیے ایک اقلیتی طبقے کا نمونہ sqrt(non_fraud/fraud) اکثریت کا نمونہ، یا زیادہ جدید ری سیمپلنگ تکنیک کا استعمال کرتے ہوئے. زیادہ سے زیادہ نمونے لینے کے اختیارات کے لیے، رجوع کریں۔ زیادہ نمونے لینے کے نمونے لینے والوں کا موازنہ کریں۔.
  2. دوسرے XGBoost کی تربیت کے لیے ہائپر پیرامیٹرس کی وضاحت کریں تاکہ سکیل_پوز_ویٹ ہٹا دیا جائے اور دیگر ہائپر پیرامیٹر وہی رہیں جیسے بیس لائن XGBoost ماڈل کی تربیت کرتے وقت۔ ہمیں اب اس ہائپر پیرامیٹر کے ساتھ ڈیٹا کے عدم توازن کو سنبھالنے کی ضرورت نہیں ہے، کیونکہ ہم پہلے ہی SMOTE کے ساتھ ایسا کر چکے ہیں۔
  3. SMOTE پروسیس شدہ ٹرین ڈیٹاسیٹ پر نئے ہائپر پیرامیٹر کے ساتھ دوسرے XGBoost ماڈل کو تربیت دیں۔
  4. نئے XGBoost ماڈل کو SageMaker کے زیر انتظام اینڈ پوائنٹ پر تعینات کریں۔
  5. ٹیسٹ ڈیٹاسیٹ کے ساتھ نئے ماڈل کا اندازہ لگائیں۔

نئے ماڈل کا جائزہ لیتے وقت، ہم دیکھ سکتے ہیں کہ SMOTE کے ساتھ، XGBoost متوازن درستگی پر بہتر کارکردگی حاصل کرتا ہے، لیکن Cohen's Kappa اور F1 سکور پر نہیں۔ اس کی وجہ یہ ہے کہ SMOTE نے فراڈ کلاس کا اتنا زیادہ نمونہ لیا ہے کہ اس نے غیر فراڈ کیسز کے ساتھ فیچر اسپیس میں اپنے اوورلیپ کو بڑھا دیا ہے۔ چونکہ Cohen's Kappa متوازن درستگی کے مقابلے میں جھوٹے مثبتات کو زیادہ وزن دیتا ہے، میٹرک میں نمایاں کمی آتی ہے، جیسا کہ دھوکہ دہی کے معاملات کے لیے درستگی اور F1 اسکور ہوتا ہے۔

. آرسییف XGBoost XGBoost SMOTE
متوازن درستگی 0.560023 0.847685 0.912657
کوہن کا کپا۔ 0.003917 0.743801 0.716463
F1 0.007082 0.744186 0.716981
آر او سی اے یو سی - 0.983515 0.967497

تاہم، ہم درجہ بندی کی حد کو ایڈجسٹ کرکے میٹرکس کے درمیان توازن واپس لا سکتے ہیں۔ اب تک، ہم 0.5 کو اس حد کے طور پر استعمال کر رہے ہیں کہ آیا ڈیٹا پوائنٹ فراڈ ہے یا نہیں۔ 0.1–0.9 سے مختلف حدوں کا تجربہ کرنے کے بعد، ہم دیکھ سکتے ہیں کہ کوہن کا کپا متوازن درستگی میں نمایاں نقصان کے بغیر، دہلیز کے ساتھ ساتھ بڑھتا رہتا ہے۔

میٹرکس کے درمیان توازن کو واپس لانے کے لیے مختلف حدوں کو استعمال کریں۔

یہ ہمارے ماڈل میں ایک مفید انشانکن کا اضافہ کرتا ہے۔ اگر کوئی دھوکہ دہی والے کیسز (جھوٹے منفی) کو یاد نہ کرنا ہماری ترجیح ہے تو ہم کم حد استعمال کر سکتے ہیں، یا ہم جھوٹے مثبت کی تعداد کو کم کرنے کے لیے حد کو بڑھا سکتے ہیں۔

HPO کے ساتھ ایک بہترین XGBoost ماڈل کو تربیت دیں۔

اس مرحلے میں، ہم یہ ظاہر کرتے ہیں کہ اپنے تیسرے XGBoost ماڈل کو ہائپر پیرامیٹر آپٹیمائزیشن کے ساتھ تربیت دے کر ماڈل کی کارکردگی کو کیسے بہتر بنایا جائے۔ پیچیدہ ایم ایل سسٹمز کی تعمیر کرتے وقت، ہائپر پیرامیٹر اقدار کے تمام ممکنہ امتزاج کو دستی طور پر تلاش کرنا ناقابل عمل ہے۔ SageMaker میں HPO کی خصوصیت آپ کی طرف سے ماڈل کی بہت سی مختلف حالتوں کو آزما کر آپ کی پیداواری صلاحیت کو تیز کر سکتی ہے۔ یہ آپ کے بتائے ہوئے حدود میں ہائپر پیرامیٹر اقدار کے سب سے زیادہ امید افزا امتزاج پر توجہ مرکوز کرکے خود بخود بہترین ماڈل کی تلاش کرتا ہے۔

HPO کے عمل کو توثیق کے ڈیٹاسیٹ کی ضرورت ہوتی ہے، اس لیے ہم نے پہلے اپنے تربیتی ڈیٹا کو تربیت اور توثیق کے ڈیٹاسیٹ میں تقسیم کیا مصنوعی نمونے لینے. ڈیٹا کے عدم توازن کے مسئلے سے نمٹنے کے لیے، ہم XGBoost کے وزنی اسکیما کو دوبارہ استعمال کرتے ہیں، scale_pos_weight hyperparameter کو sqrt(num_nonfraud/num_fraud).

ہم SageMaker بلٹ ان XGBoost الگورتھم کنٹینر کا استعمال کرتے ہوئے ایک XGBoost تخمینہ کنندہ بناتے ہیں، اور معروضی تشخیص میٹرک اور ہائپر پیرامیٹر کی حدود کی وضاحت کرتے ہیں جن کے اندر ہم تجربہ کرنا چاہتے ہیں۔ ان کے ساتھ ہم پھر ایک بناتے ہیں۔ ہائپر پیرامیٹر ٹونر اور HPO ٹیوننگ جاب کو شروع کریں، جو متعدد ماڈلز کو متوازی طور پر تربیت دیتا ہے، زیادہ سے زیادہ ہائپر پیرامیٹر کے امتزاج کی تلاش میں۔

ٹیوننگ کا کام مکمل ہونے پر، ہم اس کی تجزیاتی رپورٹ دیکھ سکتے ہیں اور ہر ماڈل کے ہائپر پیرامیٹر، تربیتی ملازمت کی معلومات، اور معروضی تشخیص میٹرک کے خلاف اس کی کارکردگی کا معائنہ کر سکتے ہیں۔

ٹیوننگ جاب سے ہر ماڈل کی معلومات کی فہرست

پھر ہم بہترین ماڈل کو تعینات کرتے ہیں اور اپنے ٹیسٹ ڈیٹاسیٹ کے ساتھ اس کا جائزہ لیتے ہیں۔

ایک ہی ٹیسٹ ڈیٹا پر تمام ماڈل کی کارکردگی کا اندازہ اور موازنہ کریں۔

اب ہمارے پاس چاروں ماڈلز سے تشخیصی نتائج ہیں: RCF، XGBoost بیس لائن، SMOTE کے ساتھ XGBoost، اور HPO کے ساتھ XGBoost۔ آئیے ان کی کارکردگی کا موازنہ کریں۔

. آرسییف XGBoost SMOTE کے ساتھ XGBoost HPO کے ساتھ XGBoost
متوازن درستگی 0.560023 0.847685 0.912657 0.902156
کوہن کا کپا۔ 0.003917 0.743801 0.716463 0.880778
F1 0.007082 0.744186 0.716981 0.880952
آر او سی اے یو سی - 0.983515 0.967497 0.981564

ہم دیکھ سکتے ہیں کہ HPO کے ساتھ XGBoost SMOTE طریقہ سے اس سے بھی بہتر کارکردگی حاصل کرتا ہے۔ خاص طور پر، کوہن کے کپا سکور اور F1 0.8 سے زیادہ ہیں، جو کہ ایک بہترین ماڈل کی کارکردگی کو ظاہر کرتا ہے۔

صاف کرو

جب آپ اس حل کو ختم کر لیں، تو یقینی بنائیں کہ آپ تمام غیر مطلوبہ AWS وسائل کو حذف کر دیں تاکہ غیر ارادی چارجز لگنے سے بچا جا سکے۔ میں حل کو حذف کریں۔ اپنے حل والے ٹیب پر سیکشن، منتخب کریں۔ تمام وسائل کو حذف کریں۔ اس حل کو شروع کرتے وقت خود بخود بنائے گئے وسائل کو حذف کرنا۔

حل کو حذف کرکے صاف کریں۔

متبادل طور پر، آپ استعمال کرسکتے ہیں AWS کلاؤڈ فارمیشن حل اور نوٹ بک کے ذریعہ خود بخود بنائے گئے تمام معیاری وسائل کو حذف کرنا۔ اس نقطہ نظر کو استعمال کرنے کے لیے، AWS CloudFormation کنسول پر، CloudFormation اسٹیک تلاش کریں جس کی تفصیل فراڈ-ڈیٹیکشن-استعمال-مشین سیکھنے پر مشتمل ہے، اور اسے حذف کر دیں۔ یہ پیرنٹ اسٹیک ہے، اور اس اسٹیک کو حذف کرنے کا انتخاب کرنے سے اندر کے اسٹیک خود بخود حذف ہو جائیں گے۔

CloudFormation کے ذریعے صاف کریں۔

کسی بھی نقطہ نظر کے ساتھ، آپ کو اب بھی کسی بھی اضافی وسائل کو دستی طور پر حذف کرنے کی ضرورت ہے جو آپ نے اس نوٹ بک میں بنائے ہیں۔ کچھ مثالوں میں اضافی S3 بالٹیاں (حل کی ڈیفالٹ بالٹی کے علاوہ)، اضافی SageMaker اینڈ پوائنٹس (اپنی مرضی کے نام کا استعمال کرتے ہوئے)، اور اضافی شامل ہیں۔ ایمیزون لچکدار کنٹینر رجسٹری (ایمیزون ای سی آر) ذخیرے

نتیجہ

اس پوسٹ میں، ہم نے آپ کو دکھایا کہ سیج میکر کے ساتھ ML کا استعمال کرتے ہوئے ایک متحرک، خود کو بہتر بنانے، اور برقرار رکھنے کے قابل کریڈٹ کارڈ فراڈ کا پتہ لگانے کے نظام کو کیسے بنایا جائے۔ ہم نے ایک غیر زیر نگرانی RCF بے ضابطگی کا پتہ لگانے والا ماڈل بنایا، ایک زیر نگرانی XGBoost ماڈل کو بیس لائن کے طور پر، ڈیٹا کے عدم توازن کے مسئلے سے نمٹنے کے لیے SMOTE کے ساتھ ایک اور زیر نگرانی XGBoost ماڈل، اور HPO کے ساتھ بہترین XGBoost ماڈل بنایا۔ ہم نے ڈیٹا کے عدم توازن کو سنبھالنے اور حل میں اپنا ڈیٹا استعمال کرنے کے طریقے پر تبادلہ خیال کیا۔ ہم نے API Gateway اور Lambda کے ساتھ REST API کے نفاذ کی ایک مثال بھی شامل کی ہے تاکہ یہ ظاہر کیا جا سکے کہ آپ کے موجودہ کاروباری انفراسٹرکچر میں سسٹم کو کیسے استعمال کیا جائے۔

اسے خود آزمانے کے لیے، کھولیں۔ سیج میکر اسٹوڈیو اور جمپ اسٹارٹ حل شروع کریں۔ حل کے بارے میں مزید جاننے کے لیے، اسے چیک کریں۔ GitHub ذخیرہ.


مصنفین کے بارے میں

ژیولی شینژیولی شین ایمیزون ویب سروسز میں سولیوشن آرکیٹیکٹ اور مشین لرننگ ٹیکنیکل فیلڈ کمیونٹی (TFC) کا رکن ہے۔ اس کی توجہ کلاؤڈ پر آرکیٹیکٹنگ کرنے والے صارفین کی مدد کرنے اور کاروباری قدر حاصل کرنے کے لیے AWS سروسز کا فائدہ اٹھانے پر مرکوز ہے۔ AWS میں شامل ہونے سے پہلے، وہ کلاؤڈ پر ڈیٹا انٹینسیو ڈسٹری بیوٹڈ سسٹم بنانے والی ٹیک لیڈ اور سینئر فل اسٹیک انجینئر تھیں۔

Amazon SageMaker PlatoBlockchain Data Intelligence کے ساتھ مشین لرننگ کا استعمال کرتے ہوئے جعلی لین دین کا پتہ لگائیں۔ عمودی تلاش۔ عیڈاکٹر ژن ہوانگ Amazon SageMaker JumpStart اور Amazon SageMaker بلٹ ان الگورتھم کے لیے ایک اپلائیڈ سائنٹسٹ ہے۔ وہ اسکیل ایبل مشین لرننگ الگورتھم تیار کرنے پر توجہ مرکوز کرتا ہے۔ اس کی تحقیقی دلچسپیاں قدرتی لینگویج پروسیسنگ، ٹیبلر ڈیٹا پر قابل وضاحت گہرائی سے سیکھنے، اور نان پیرامیٹرک اسپیس ٹائم کلسٹرنگ کے مضبوط تجزیہ کے شعبے میں ہیں۔ انہوں نے ACL، ICDM، KDD کانفرنسز، اور رائل سٹیٹسٹیکل سوسائٹی: سیریز A جرنل میں بہت سے مقالے شائع کیے ہیں۔

Amazon SageMaker PlatoBlockchain Data Intelligence کے ساتھ مشین لرننگ کا استعمال کرتے ہوئے جعلی لین دین کا پتہ لگائیں۔ عمودی تلاش۔ عیویدانت جین ایک Sr. AI/ML سپیشلسٹ سلوشنز آرکیٹیکٹ ہے، جو AWS میں مشین لرننگ ایکو سسٹم سے قدر حاصل کرنے میں صارفین کی مدد کرتا ہے۔ AWS میں شامل ہونے سے پہلے، ویدانت نے مختلف کمپنیوں جیسے ڈیٹابرکس، ہارٹن ورکس (اب کلاؤڈرا) اور جے پی مورگن چیس میں ایم ایل/ڈیٹا سائنس اسپیشلٹی کے عہدوں پر فائز ہیں۔ اپنے کام کے علاوہ، ویدانت موسیقی بنانے، بامقصد زندگی گزارنے کے لیے سائنس کا استعمال کرنے اور دنیا بھر کے لذیذ سبزی خور پکوان دریافت کرنے کا شوقین ہے۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ