شناسایی تراکنش های جعلی با استفاده از یادگیری ماشینی با Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.

با استفاده از یادگیری ماشینی با Amazon SageMaker، تراکنش های جعلی را شناسایی کنید

کسب و کارها می توانند سالانه میلیاردها دلار به دلیل کاربران مخرب و تراکنش های تقلبی از دست بدهند. هر چه بیشتر و بیشتر عملیات تجاری آنلاین می شوند، کلاهبرداری و سوء استفاده در سیستم های آنلاین نیز در حال افزایش است. برای مبارزه با کلاهبرداری آنلاین، بسیاری از مشاغل از سیستم های تشخیص تقلب مبتنی بر قوانین استفاده می کنند.

با این حال، سیستم‌های تشخیص تقلب سنتی به مجموعه‌ای از قوانین و فیلترهایی که توسط متخصصان انسانی ساخته شده‌اند، متکی هستند. فیلترها اغلب می توانند شکننده باشند و قوانین ممکن است طیف کامل سیگنال های تقلبی را دریافت نکنند. علاوه بر این، در حالی که رفتارهای متقلبانه همیشه در حال تکامل هستند، ماهیت ایستا قوانین و فیلترهای از پیش تعریف شده حفظ و بهبود موثر سیستم های تشخیص تقلب سنتی را دشوار می کند.

در این پست، ما به شما نشان می دهیم که چگونه با استفاده از یادگیری ماشینی (ML) یک سیستم تشخیص تقلب کارت اعتباری پویا، خودبهبود و قابل نگهداری بسازید. آمازون SageMaker.

از طرف دیگر، اگر به دنبال یک سرویس کاملاً مدیریت شده برای ساخت مدل‌های تشخیص تقلب سفارشی بدون نوشتن کد هستید، توصیه می‌کنیم آن را بررسی کنید. ردیاب تقلب آمازون. ردیاب تقلب آمازون به مشتریانی که تجربه ML را ندارند، قادر می‌سازد تا مدل‌های تشخیص تقلب در ساختمان را که برای داده‌هایشان سفارشی شده‌اند، خودکار کنند، و بیش از 20 سال از تخصص تشخیص تقلب از AWS و Amazon.com استفاده می‌کنند.

بررسی اجمالی راه حل

این راه حل هسته سیستم تشخیص کلاهبرداری کارت اعتباری را با استفاده از SageMaker ایجاد می کند. ما با آموزش یک مدل تشخیص ناهنجاری بدون نظارت با استفاده از الگوریتم شروع می کنیم جنگل برش تصادفی (RCF). سپس دو مدل طبقه بندی نظارت شده را با استفاده از الگوریتم آموزش می دهیم XGBoostیکی به عنوان یک مدل پایه و دیگری برای پیش‌بینی، با استفاده از استراتژی‌های مختلف برای رسیدگی به عدم تعادل طبقاتی شدید در داده‌ها. در نهایت، ما یک مدل بهینه XGBoost را با آن آموزش می‌دهیم بهینه سازی هایپرپارامتر (HPO) برای بهبود بیشتر عملکرد مدل

برای مجموعه داده نمونه، از تراکنش‌های عمومی و ناشناس کارت اعتباری استفاده می‌کنیم مجموعه داده که در ابتدا به عنوان بخشی از یک منتشر شد تحقیق همکاری Worldline و گروه یادگیری ماشین ULB (Université Libre de Bruxelles). در ادامه، ما همچنین در مورد اینکه چگونه می توانید راه حل را برای استفاده از داده های خود سفارشی کنید، بحث می کنیم.

خروجی های حل به شرح زیر است:

  • بدون نظارت SageMaker RCF مدل. مدل برای هر تراکنش یک امتیاز ناهنجاری به دست می دهد. ارزش امتیاز پایین نشان می دهد که تراکنش عادی (غیر متقلبانه) در نظر گرفته می شود. مقدار بالا نشان می دهد که معامله تقلبی است. تعاریف کم و زیاد به کاربرد بستگی دارد، اما رویه رایج نشان می‌دهد که نمرات فراتر از سه انحراف استاندارد از میانگین نمره غیرعادی در نظر گرفته می‌شوند.
  • تحت نظارت SageMaker XGBoost مدلی که با استفاده از طرح وزن سازی داخلی خود برای رسیدگی به مسئله داده های بسیار نامتعادل آموزش داده شده است.
  • یک مدل SageMaker XGBoost تحت نظارت که با استفاده از روش نمونه برداری بیش از حد اقلیت مصنوعی (SMOTE).
  • یک مدل آموزش دیده SageMaker XGBoost با HPO.
  • پیش بینی احتمال تقلبی بودن هر تراکنش. اگر احتمال تخمینی تراکنش بیش از یک آستانه باشد، به عنوان تقلبی طبقه بندی می شود.

برای نشان دادن اینکه چگونه می‌توانید از این راه‌حل در زیرساخت‌های تجاری موجود خود استفاده کنید، ما همچنین نمونه‌ای از برقراری تماس‌های REST API به نقطه پایانی مدل مستقر شده را با استفاده از AWS لامبدا برای راه اندازی هر دو مدل RCF و XGBoost.

نمودار زیر معماری راه حل را نشان می دهد.

پیش نیازها

برای امتحان کردن راه حل در حساب کاربری خود، مطمئن شوید که موارد زیر را در محل خود دارید:

وقتی نمونه Studio آماده شد، می توانید Studio را راه اندازی کنید و به JumpStart دسترسی پیدا کنید. راه حل های JumpStart در نمونه های نوت بوک SageMaker در دسترس نیستند و نمی توانید از طریق SageMaker API یا رابط خط فرمان AWS (AWS CLI).

راه حل را راه اندازی کنید

برای راه اندازی راه حل، مراحل زیر را انجام دهید:

  1. JumpStart را با استفاده از لانچر JumpStart در قسمت باز کنید شروع کنید یا با انتخاب نماد JumpStart در نوار کناری سمت چپ.
  2. تحت مزایا، انتخاب کنید شناسایی کاربران مخرب و تراکنش ها برای باز کردن راه حل در یک تب Studio دیگر.
    راه حل را پیدا کن
  3. در برگه راه حل، را انتخاب کنید راه اندازی برای راه اندازی راه حل
    راه حل را راه اندازی کنید
    منابع راه حل فراهم شده و برگه دیگری باز می شود که پیشرفت استقرار را نشان می دهد. هنگامی که استقرار به پایان رسید، یک نوت بوک را باز کنید دکمه ظاهر می شود
  4. را انتخاب کنید نوت بوک را باز کنید برای باز کردن دفترچه راه حل در استودیو.
    نوت بوک را باز کنید

بررسی و پردازش داده ها

مجموعه داده پیش‌فرض فقط شامل ویژگی‌های عددی است، زیرا ویژگی‌های اصلی با استفاده از آن تغییر شکل داده‌اند تجزیه و تحلیل اجزای اصلی (PCA) برای محافظت از حریم خصوصی کاربر. در نتیجه، مجموعه داده شامل 28 جزء PCA، V1–V28، و دو ویژگی است که تغییر نکرده اند، Amount و Time. مبلغ به مبلغ تراکنش اشاره دارد و زمان، ثانیه هایی است که بین هر تراکنش در داده ها و اولین تراکنش سپری شده است.

ستون Class مربوط به تقلبی بودن یا نبودن یک تراکنش است.

داده های نمونه

می بینیم که اکثریت غیر تقلبی هستند، زیرا از مجموع 284,807 نمونه، تنها 492 مورد (0.173٪) کلاهبردار هستند. این یک مورد عدم تعادل طبقاتی شدید است که در سناریوهای کشف تقلب رایج است.

عدم تعادل کلاس داده

سپس داده های خود را برای بارگذاری و آموزش آماده می کنیم. ما داده ها را به یک مجموعه قطار و یک مجموعه آزمایشی تقسیم می کنیم و از اولی برای آموزش و دومی برای ارزیابی عملکرد مدل خود استفاده می کنیم. مهم است که قبل از استفاده از هر تکنیکی برای کاهش عدم تعادل کلاس، داده ها را تقسیم کنید. در غیر این صورت، ممکن است اطلاعاتی از مجموعه تست به مجموعه قطار نشت کنیم و به عملکرد مدل لطمه بزنیم.

اگر می‌خواهید داده‌های آموزشی خود را وارد کنید، مطمئن شوید که داده‌های جدولی در قالب CSV هستند، داده‌ها را در یک فایل آپلود کنید. سرویس ذخیره سازی ساده آمازون (Amazon S3) سطل، و مسیر شی S3 را در کد نوت بوک ویرایش کنید.

مسیر داده در S3

اگر داده‌های شما شامل ستون‌های دسته‌بندی با مقادیر غیرعددی است، باید این مقادیر را یک‌بار کدگذاری کنید (برای مثال با استفاده از: OneHotEncoder sklearn) زیرا الگوریتم XGBoost فقط از داده های عددی پشتیبانی می کند.

یک مدل جنگل برش تصادفی بدون نظارت را آموزش دهید

در سناریوی تشخیص تقلب، ما معمولاً نمونه های برچسب گذاری شده بسیار کمی داریم و تقلب برچسب زدن می تواند زمان و تلاش زیادی را ببرد. بنابراین، ما همچنین می خواهیم اطلاعاتی را از داده های بدون برچسب در دست استخراج کنیم. ما این کار را با استفاده از یک الگوریتم تشخیص ناهنجاری انجام می دهیم و از عدم تعادل داده های بالا که در مجموعه داده های تشخیص تقلب رایج است استفاده می کنیم.

تشخیص ناهنجاری شکلی از یادگیری بدون نظارت است که در آن سعی می کنیم نمونه های غیرعادی را تنها بر اساس ویژگی های ویژگی آنها شناسایی کنیم. Random Cut Forest یک الگوریتم تشخیص ناهنجاری پیشرفته است که هم دقیق و هم مقیاس پذیر است. با هر مثال داده، RCF یک نمره ناهنجاری را مرتبط می کند.

ما از الگوریتم RCF داخلی SageMaker برای آموزش یک مدل تشخیص ناهنجاری در مجموعه داده آموزشی خود استفاده می کنیم، سپس روی مجموعه داده آزمایشی خود پیش بینی می کنیم.

ابتدا نمرات ناهنجاری پیش‌بینی‌شده برای مثال‌های مثبت (متقلبانه) و منفی (غیر متقلبانه) را به طور جداگانه بررسی و ترسیم می‌کنیم، زیرا تعداد مثال‌های مثبت و منفی به‌طور معنی‌داری متفاوت است. ما انتظار داریم که نمونه‌های مثبت (متقلبانه) نمرات ناهنجاری نسبتاً بالایی داشته باشند و نمونه‌های منفی (غیر متقلبانه) نمرات ناهنجاری پایینی داشته باشند. از هیستوگرام ها می توان الگوهای زیر را مشاهده کرد:

  • تقریبا نیمی از نمونه های مثبت (هیستوگرام سمت چپ) دارای امتیاز ناهنجاری بالاتر از 0.9 هستند، در حالی که بیشتر نمونه های منفی (هیستوگرام سمت راست) دارای امتیاز ناهنجاری کمتر از 0.85 هستند.
  • الگوریتم یادگیری بدون نظارت RCF دارای محدودیت هایی برای شناسایی دقیق نمونه های تقلبی و غیر متقلبانه است. این به این دلیل است که از اطلاعات برچسب استفاده نمی شود. ما با جمع آوری اطلاعات برچسب و استفاده از یک الگوریتم یادگیری نظارت شده در مراحل بعدی به این موضوع می پردازیم.

نمرات ناهنجاری پیش بینی شده

سپس، سناریوی واقعی تری را در نظر می گیریم که در آن هر نمونه آزمون را بر اساس نمره ناهنجاری آن به عنوان مثبت (متقلب) یا منفی (غیر متقلبانه) طبقه بندی می کنیم. ما هیستوگرام امتیازی را برای همه نمونه‌های آزمایشی به صورت زیر ترسیم می‌کنیم و یک امتیاز برش 1.0 (بر اساس الگوی نشان داده شده در هیستوگرام) را برای طبقه‌بندی انتخاب می‌کنیم. به طور خاص، اگر نمره ناهنجاری یک مثال کمتر یا مساوی 1.0 باشد، به عنوان منفی (غیر متقلبانه) طبقه بندی می شود. در غیر این صورت، مثال به عنوان مثبت (تقلب) طبقه بندی می شود.

هیستوگرام نمرات برای نمونه های آزمایشی

در نهایت، ما نتیجه طبقه‌بندی را با برچسب‌های حقیقت پایه مقایسه می‌کنیم و معیارهای ارزیابی را محاسبه می‌کنیم. از آنجایی که مجموعه داده ما نامتعادل است، از معیارهای ارزیابی استفاده می کنیم دقت متعادل, امتیاز کاپا کوهن, امتیاز F1و ROC AUC، زیرا فرکانس هر کلاس را در داده ها در نظر می گیرند. برای همه این معیارها، یک مقدار بزرگتر نشان دهنده عملکرد پیش بینی بهتر است. توجه داشته باشید که در این مرحله ما هنوز نمی‌توانیم AUC ROC را محاسبه کنیم، زیرا هیچ احتمال تخمینی برای کلاس‌های مثبت و منفی از مدل RCF در هر مثال وجود ندارد. ما این معیار را در مراحل بعدی با استفاده از الگوریتم های یادگیری نظارت شده محاسبه می کنیم.

. RCF
دقت متعادل 0.560023
کاپا کوهن 0.003917
F1 0.007082
ROC AUC -

از این مرحله، می‌توانیم ببینیم که مدل بدون نظارت می‌تواند از قبل به جدایی بین کلاس‌ها دست یابد، با نمرات ناهنجاری بالاتر که با نمونه‌های جعلی مرتبط است.

یک مدل XGBoost را با طرح وزن سازی داخلی آموزش دهید

پس از جمع آوری مقدار کافی از داده های آموزشی برچسب گذاری شده، می توانیم از یک الگوریتم یادگیری نظارت شده برای کشف روابط بین ویژگی ها و کلاس ها استفاده کنیم. ما الگوریتم XGBoost را انتخاب می کنیم زیرا دارای سابقه اثبات شده است، بسیار مقیاس پذیر است و می تواند با داده های از دست رفته مقابله کند. ما باید این بار عدم تعادل داده ها را مدیریت کنیم، در غیر این صورت طبقه اکثریت (نمونه های غیر تقلبی یا منفی) بر یادگیری مسلط خواهند شد.

ما اولین مدل تحت نظارت خود را با استفاده از محفظه الگوریتم XGBoost داخلی SageMaker آموزش و اجرا می کنیم. این مدل پایه ماست. برای رسیدگی به عدم تعادل داده ها، از هایپرپارامتر استفاده می کنیم scale_pos_weight، که وزن نمونه های کلاس مثبت را در برابر نمونه های کلاس منفی مقیاس می دهد. از آنجایی که مجموعه داده بسیار کج است، ما این فراپارامتر را روی یک مقدار محافظه کارانه تنظیم می کنیم: sqrt(num_nonfraud/num_fraud).

ما مدل را به صورت زیر آموزش و اجرا می کنیم:

  1. URI ظرف SageMaker XGBoost را بازیابی کنید.
  2. هایپرپارامترهایی را که می خواهیم برای آموزش مدل استفاده کنیم، تنظیم کنیم، از جمله مواردی که ذکر کردیم که عدم تعادل داده ها را کنترل می کند. scale_pos_weight.
  3. یک برآوردگر XGBoost ایجاد کنید و آن را با مجموعه داده قطار ما آموزش دهید.
  4. مدل آموزش دیده XGBoost را در یک نقطه پایانی مدیریت شده SageMaker مستقر کنید.
  5. این مدل پایه را با مجموعه داده آزمایشی ما ارزیابی کنید.

سپس مدل خود را با همان چهار معیاری که در مرحله آخر ذکر شد ارزیابی می کنیم. این بار می توانیم متریک ROC AUC را نیز محاسبه کنیم.

. RCF XGBoost
دقت متعادل 0.560023 0.847685
کاپا کوهن 0.003917 0.743801
F1 0.007082 0.744186
ROC AUC - 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 آمازون و یک تابع لامبدا. هنگامی که برنامه های مشتری درخواست های استنتاج HTTP را به REST API ارسال می کنند، که تابع Lambda را فعال می کند، که به نوبه خود نقاط پایانی مدل RCF و XGBoost را فراخوانی می کند و پیش بینی ها را از مدل ها برمی گرداند. می‌توانید کد عملکرد لامبدا را بخوانید و فراخوان‌های موجود در کنسول لامبدا را نظارت کنید.

ما همچنین یک اسکریپت پایتون ایجاد کردیم که درخواست‌های استنتاج HTTP را به REST API، با داده‌های آزمایشی ما به‌عنوان داده ورودی می‌کند. برای اینکه ببینید چگونه این کار انجام شد، آن را بررسی کنید generate_endpoint_traffic.py فایل در کد منبع راه حل. خروجی های پیش بینی از طریق یک سطل S3 ثبت می شوند Amazon Kinesis Data Firehose جریان تحویل می توانید نام سطل S3 مقصد را در کنسول Kinesis Data Firehose پیدا کنید و نتایج پیش بینی را در سطل S3 بررسی کنید.

یک مدل XGBoost را با تکنیک بیش از حد نمونه برداری SMOTE آموزش دهید

اکنون که یک مدل پایه با استفاده از XGBoost داریم، می‌توانیم ببینیم که آیا تکنیک‌های نمونه‌گیری که به‌طور خاص برای مشکلات نامتعادل طراحی شده‌اند، می‌توانند عملکرد مدل را بهبود بخشند یا خیر. ما استفاده می کنیم نمونه گیری بیش از حد اقلیت مصنوعی (SMOTE)، که کلاس اقلیت را با درون یابی نقاط داده جدید بین نقاط موجود نمونه برداری می کند.

مراحل زیر است:

  1. از SMOTE برای نمونه برداری بیش از حد از کلاس اقلیت (کلاس کلاهبردار) مجموعه داده قطار ما استفاده کنید. SMOTE کلاس اقلیت را از حدود 0.17 تا 50 درصد نمونه برداری می کند. توجه داشته باشید که این یک مورد بیش از حد نمونه برداری از طبقه اقلیت است. یک گزینه جایگزین استفاده از نسبت نمونه گیری مجدد کوچکتر است، مانند داشتن یک نمونه کلاس اقلیت برای هر sqrt(non_fraud/fraud) اکثر نمونه، یا استفاده از تکنیک های نمونه گیری مجدد پیشرفته تر. برای گزینه‌های بیش از حد نمونه‌برداری، به نمونه بردارهای بیش از حد نمونه برداری را مقایسه کنید.
  2. برای آموزش XGBoost دوم، هایپرپارامترها را تعریف کنید تا scale_pos_weight حذف شود و سایر پارامترها مانند هنگام آموزش مدل پایه XGBoost باقی بمانند. ما دیگر نیازی به مدیریت عدم تعادل داده ها با این هایپرپارامتر نداریم، زیرا قبلاً این کار را با SMOTE انجام داده ایم.
  3. دومین مدل XGBoost را با فراپارامترهای جدید در مجموعه داده قطار پردازش شده SMOTE آموزش دهید.
  4. مدل جدید XGBoost را در یک نقطه پایانی مدیریت شده SageMaker مستقر کنید.
  5. مدل جدید را با مجموعه داده آزمایشی ارزیابی کنید.

هنگام ارزیابی مدل جدید، می بینیم که با SMOTE، XGBoost عملکرد بهتری در دقت متعادل به دست می آورد، اما در امتیازات کاپا و F1 کوهن نمی باشد. دلیل این امر این است که SMOTE آنقدر از کلاس تقلب نمونه برداری کرده است که همپوشانی آن را در فضای ویژگی با موارد غیر تقلب افزایش داده است. از آنجا که کاپا کوهن به موارد مثبت کاذب وزن بیشتری نسبت به دقت متعادل می دهد، متریک به طور قابل توجهی کاهش می یابد، همانطور که دقت و امتیاز F1 برای موارد کلاهبرداری کاهش می یابد.

. RCF XGBoost XGBoost SMOTE
دقت متعادل 0.560023 0.847685 0.912657
کاپا کوهن 0.003917 0.743801 0.716463
F1 0.007082 0.744186 0.716981
ROC AUC - 0.983515 0.967497

با این حال، می‌توانیم با تنظیم آستانه طبقه‌بندی، تعادل بین معیارها را بازگردانیم. تا کنون، ما از 0.5 به عنوان آستانه برای برچسب زدن اینکه آیا یک نقطه داده تقلبی است یا نه، استفاده کرده ایم. پس از آزمایش آستانه های مختلف از 0.1 تا 0.9، می بینیم که کاپا کوهن همراه با آستانه افزایش می یابد، بدون از دست دادن قابل توجهی در دقت متعادل.

آستانه های مختلف را برای بازگرداندن تعادل بین معیارها آزمایش کنید

این یک کالیبراسیون مفید به مدل ما اضافه می کند. اگر از دست ندادن موارد تقلبی (منفی کاذب) اولویت ما باشد، می‌توانیم از آستانه پایین استفاده کنیم، یا می‌توانیم آستانه را افزایش دهیم تا تعداد موارد مثبت کاذب را به حداقل برسانیم.

یک مدل بهینه XGBoost را با HPO آموزش دهید

در این مرحله، نحوه بهبود عملکرد مدل را با آموزش سومین مدل XGBoost با بهینه‌سازی هایپرپارامتر نشان می‌دهیم. هنگام ساختن سیستم‌های پیچیده ML، کاوش دستی همه ترکیب‌های ممکن مقادیر فراپارامتر غیرعملی است. ویژگی HPO در SageMaker می‌تواند بهره‌وری شما را با آزمایش بسیاری از انواع مدل‌ها از جانب شما تسریع بخشد. به طور خودکار با تمرکز بر روی امیدوارکننده‌ترین ترکیب مقادیر فراپارامتر در محدوده‌هایی که شما مشخص می‌کنید، بهترین مدل را جستجو می‌کند.

فرآیند HPO به یک مجموعه داده اعتبار سنجی نیاز دارد، بنابراین ابتدا داده های آموزشی خود را با استفاده از مجموعه داده های آموزشی و اعتبار سنجی تقسیم می کنیم نمونه گیری طبقه ای. برای مقابله با مشکل عدم تعادل داده، دوباره از طرح وزنی XGBoost استفاده می کنیم و scale_pos_weight هایپرپارامتر به sqrt(num_nonfraud/num_fraud).

ما یک تخمین‌گر XGBoost با استفاده از محفظه الگوریتم XGBoost داخلی SageMaker ایجاد می‌کنیم و متریک ارزیابی هدف و محدوده‌های فراپارامتری را که می‌خواهیم در آن آزمایش کنیم، مشخص می‌کنیم. با اینها سپس یک را ایجاد می کنیم HyperparameterTuner و کار تنظیم HPO را آغاز کنید، که چندین مدل را به صورت موازی آموزش می دهد و به دنبال ترکیب هایپرپارامتر بهینه است.

وقتی کار تنظیم کامل شد، می‌توانیم گزارش تحلیلی آن را ببینیم و فراپارامترهای هر مدل، اطلاعات شغل آموزشی و عملکرد آن را در برابر معیار ارزیابی هدف بررسی کنیم.

لیست اطلاعات هر مدل از کار تنظیم

سپس بهترین مدل را اجرا می کنیم و آن را با مجموعه داده آزمایشی خود ارزیابی می کنیم.

ارزیابی و مقایسه تمام عملکرد مدل بر روی داده های آزمایشی یکسان

اکنون نتایج ارزیابی هر چهار مدل را داریم: RCF، XGBoost پایه، XGBoost با SMOTE و XGBoost با HPO. بیایید عملکرد آنها را با هم مقایسه کنیم.

. RCF XGBoost XGBoost با SMOTE XGBoost با HPO
دقت متعادل 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
ROC AUC - 0.983515 0.967497 0.981564

می بینیم که XGBoost با HPO حتی عملکرد بهتری نسبت به روش SMOTE دارد. به طور خاص، امتیازات کاپا کوهن و F1 بیش از 0.8 است که نشان دهنده عملکرد بهینه مدل است.

پاک کردن

پس از اتمام کار با این راه حل، مطمئن شوید که همه منابع AWS ناخواسته را حذف کرده اید تا از تحمیل هزینه های ناخواسته جلوگیری کنید. در راه حل را حذف کنید بخش را در برگه راه حل خود انتخاب کنید تمام منابع را حذف کنید برای حذف منابع ایجاد شده به صورت خودکار هنگام راه اندازی این راه حل.

با حذف محلول پاک کنید

متناوبا می توانید از آن استفاده کنید AWS CloudFormation برای حذف تمام منابع استاندارد به طور خودکار ایجاد شده توسط راه حل و نوت بوک. برای استفاده از این رویکرد، در کنسول AWS CloudFormation، پشته CloudFormation را که شرح آن حاوی fraud-detection-using-machine-learning است، پیدا کنید و آن را حذف کنید. این یک پشته والد است و انتخاب حذف این پشته به طور خودکار پشته های تودرتو را حذف می کند.

از طریق CloudFormation پاکسازی کنید

با هر دو روش، همچنان باید منابع اضافی را که ممکن است در این نوت بوک ایجاد کرده باشید، به صورت دستی حذف کنید. برخی از نمونه‌ها عبارتند از سطل‌های اضافی S3 (علاوه بر سطل پیش‌فرض راه‌حل)، نقاط پایانی اضافی SageMaker (با استفاده از یک نام سفارشی)، و اضافی رجیستری ظروف الاستیک آمازون مخازن (Amazon ECR).

نتیجه

در این پست، ما به شما نشان دادیم که چگونه با استفاده از ML با SageMaker، هسته یک سیستم تشخیص تقلب کارت اعتباری پویا، خودبهبود و قابل نگهداری را بسازید. ما یک مدل تشخیص ناهنجاری RCF بدون نظارت، یک مدل XGBoost نظارت شده به عنوان خط پایه، یک مدل XGBoost نظارت شده دیگر با SMOTE برای مقابله با مشکل عدم تعادل داده، و یک مدل XGBoost نهایی که با HPO بهینه شده است، ساختیم، آموزش دادیم و مستقر کردیم. ما درباره نحوه مدیریت عدم تعادل داده ها و استفاده از داده های خود در راه حل بحث کردیم. ما همچنین یک نمونه اجرای REST API را با API Gateway و Lambda قرار دادیم تا نحوه استفاده از سیستم را در زیرساخت های تجاری موجود نشان دهیم.

برای اینکه خودتان آن را امتحان کنید، باز کنید SageMaker Studio و راه حل JumpStart را اجرا کنید. برای کسب اطلاعات بیشتر در مورد راه حل، آن را بررسی کنید مخزن GitHub.


درباره نویسنده

شیائولی شنشیائولی شن یک عضو معمار راه حل ها و انجمن زمینه فنی یادگیری ماشین (TFC) در خدمات وب آمازون است. او بر کمک به مشتریان در معماری ابر و استفاده از خدمات AWS برای کسب ارزش تجاری متمرکز شده است. قبل از پیوستن به AWS، او یک رهبر فناوری و مهندس ارشد تمام پشته بود که سیستم‌های توزیع‌شده مبتنی بر داده را بر روی ابر می‌ساخت.

شناسایی تراکنش های جعلی با استفاده از یادگیری ماشینی با Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.دکتر شین هوانگ یک دانشمند کاربردی برای آمازون SageMaker JumpStart و آمازون SageMaker الگوریتم های داخلی است. او بر روی توسعه الگوریتم های یادگیری ماشینی مقیاس پذیر تمرکز می کند. علایق تحقیقاتی او در زمینه پردازش زبان طبیعی، یادگیری عمیق قابل توضیح بر روی داده های جدولی و تجزیه و تحلیل قوی خوشه بندی ناپارامتریک فضا-زمان است. او مقالات زیادی را در کنفرانس‌های ACL، ICDM، KDD و مجله Royal Statistical Society: Series A منتشر کرده است.

شناسایی تراکنش های جعلی با استفاده از یادگیری ماشینی با Amazon SageMaker PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.ودان جین یک معمار راه حل های تخصصی AI/ML Sr. است که به مشتریان کمک می کند ارزشی را از اکوسیستم یادگیری ماشین در AWS کسب کنند. قبل از پیوستن به AWS، Vedant سمت‌های تخصصی ML/Data Science را در شرکت‌های مختلفی مانند Databricks، Hortonworks (اکنون Cloudera) و JP Morgan Chase داشته است. خارج از کارش، ودانت علاقه زیادی به ساخت موسیقی، استفاده از علم برای داشتن یک زندگی معنادار و کاوش در غذاهای خوشمزه گیاهی از سراسر جهان دارد.

تمبر زمان:

بیشتر از آموزش ماشین AWS