Amazon SageMaker प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ मशीन लर्निंग का उपयोग करके धोखाधड़ी वाले लेनदेन का पता लगाएं। लंबवत खोज. ऐ.

Amazon SageMaker के साथ मशीन लर्निंग का उपयोग करके धोखाधड़ी वाले लेनदेन का पता लगाएं

दुर्भावनापूर्ण उपयोगकर्ताओं और कपटपूर्ण लेनदेन के कारण व्यवसायों को हर साल अरबों डॉलर का नुकसान हो सकता है। जैसे-जैसे अधिक से अधिक व्यवसाय संचालन ऑनलाइन होते हैं, ऑनलाइन सिस्टम में धोखाधड़ी और दुरुपयोग भी बढ़ रहे हैं। ऑनलाइन धोखाधड़ी से निपटने के लिए, कई व्यवसाय नियम-आधारित धोखाधड़ी का पता लगाने वाली प्रणालियों का उपयोग कर रहे हैं।

हालांकि, पारंपरिक धोखाधड़ी का पता लगाने वाली प्रणालियां मानव विशेषज्ञों द्वारा हाथ से तैयार किए गए नियमों और फिल्टर के एक सेट पर निर्भर करती हैं। फिल्टर अक्सर भंगुर हो सकते हैं और नियम धोखाधड़ी वाले संकेतों के पूर्ण स्पेक्ट्रम पर कब्जा नहीं कर सकते हैं। इसके अलावा, जबकि कपटपूर्ण व्यवहार हमेशा विकसित हो रहे हैं, पूर्वनिर्धारित नियमों और फिल्टर की स्थिर प्रकृति पारंपरिक धोखाधड़ी पहचान प्रणाली को प्रभावी ढंग से बनाए रखना और सुधारना मुश्किल बनाती है।

इस पोस्ट में, हम आपको दिखाते हैं कि मशीन लर्निंग (एमएल) का उपयोग करके एक गतिशील, आत्म-सुधार और रखरखाव योग्य क्रेडिट कार्ड धोखाधड़ी पहचान प्रणाली कैसे बनाई जाए। अमेज़न SageMaker.

वैकल्पिक रूप से, यदि आप कोड लिखे बिना कस्टमाइज्ड फ्रॉड डिटेक्शन मॉडल बनाने के लिए पूरी तरह से प्रबंधित सेवा की तलाश कर रहे हैं, तो हम चेक आउट करने की सलाह देते हैं अमेज़ॅन फ्रॉड डिटेक्टर. अमेज़ॅन फ्रॉड डिटेक्टर बिना एमएल अनुभव वाले ग्राहकों को उनके डेटा के लिए अनुकूलित बिल्डिंग फ्रॉड डिटेक्शन मॉडल को स्वचालित करने में सक्षम बनाता है, एडब्ल्यूएस और अमेज़ॅन से धोखाधड़ी का पता लगाने की 20 से अधिक वर्षों की विशेषज्ञता का लाभ उठाता है।

समाधान अवलोकन

यह समाधान सेजमेकर का उपयोग करके क्रेडिट कार्ड धोखाधड़ी का पता लगाने वाली प्रणाली का मूल बनाता है। हम एल्गोरिथम का उपयोग करके एक अनियंत्रित विसंगति का पता लगाने वाले मॉडल को प्रशिक्षित करके शुरू करते हैं रैंडम कट फॉरेस्ट (RCF). फिर हम एल्गोरिथ्म का उपयोग करके दो पर्यवेक्षित वर्गीकरण मॉडल को प्रशिक्षित करते हैं एक्सजीबूस्ट, एक आधारभूत मॉडल के रूप में और दूसरा भविष्यवाणी करने के लिए, डेटा में चरम वर्ग असंतुलन को दूर करने के लिए विभिन्न रणनीतियों का उपयोग करना। अंत में, हम एक इष्टतम XGBoost मॉडल को प्रशिक्षित करते हैं हाइपरपरमीटर ऑप्टिमाइज़ेशन (HPO) मॉडल के प्रदर्शन को और बेहतर बनाने के लिए।

नमूना डेटासेट के लिए, हम सार्वजनिक, अनाम क्रेडिट कार्ड लेनदेन का उपयोग करते हैं डाटासेट जिसे मूल रूप से a . के भाग के रूप में जारी किया गया था अनुसंधान वर्ल्डलाइन और का सहयोग यूएलबी का मशीन लर्निंग ग्रुप (यूनिवर्सिटी लिब्रे डी ब्रुक्सेलस)। पूर्वाभ्यास में, हम यह भी चर्चा करते हैं कि आप अपने स्वयं के डेटा का उपयोग करने के लिए समाधान को कैसे अनुकूलित कर सकते हैं।

समाधान के आउटपुट इस प्रकार हैं:

  • एक पर्यवेक्षित सेजमेकर आरसीएफ नमूना। मॉडल प्रत्येक लेनदेन के लिए एक विसंगति स्कोर आउटपुट करता है। कम स्कोर मान इंगित करता है कि लेन-देन को सामान्य (गैर-धोखाधड़ी) माना जाता है। एक उच्च मूल्य इंगित करता है कि लेनदेन धोखाधड़ी है। निम्न और उच्च की परिभाषाएं आवेदन पर निर्भर करती हैं, लेकिन सामान्य अभ्यास से पता चलता है कि औसत स्कोर से तीन मानक विचलन से अधिक स्कोर को विषम माना जाता है।
  • एक पर्यवेक्षित सेजमेकर XGBoost अत्यधिक असंतुलित डेटा समस्या को हल करने के लिए अपने अंतर्निर्मित भार स्कीमा का उपयोग करके प्रशिक्षित मॉडल।
  • एक पर्यवेक्षित सेजमेकर XGBoost मॉडल का उपयोग करके प्रशिक्षित किया गया सिंथेटिक माइनॉरिटी ओवर-सैंपलिंग तकनीक (स्मोट)।
  • HPO के साथ एक प्रशिक्षित SageMaker XGBoost मॉडल।
  • प्रत्येक लेनदेन के कपटपूर्ण होने की संभावना की भविष्यवाणी। यदि किसी लेन-देन की अनुमानित संभावना एक सीमा से अधिक है, तो इसे धोखाधड़ी के रूप में वर्गीकृत किया जाता है।

यह प्रदर्शित करने के लिए कि आप अपने मौजूदा व्यावसायिक बुनियादी ढांचे में इस समाधान का उपयोग कैसे कर सकते हैं, हम इसका उपयोग करके तैनात मॉडल एंडपॉइंट पर आरईएसटी एपीआई कॉल करने का एक उदाहरण भी शामिल करते हैं। AWS लाम्बा RCF और XGBoost दोनों मॉडल को ट्रिगर करने के लिए।

निम्नलिखित चित्र समाधान वास्तुकला को दर्शाता है।

.. पूर्वापेक्षाएँ

समाधान को अपने स्वयं के खाते में आज़माने के लिए, सुनिश्चित करें कि आपके पास निम्नलिखित स्थान हैं:

जब स्टूडियो इंस्टेंस तैयार हो जाता है, तो आप स्टूडियो लॉन्च कर सकते हैं और जम्पस्टार्ट तक पहुंच सकते हैं। सेजमेकर नोटबुक इंस्टेंस में जम्पस्टार्ट समाधान उपलब्ध नहीं हैं, और आप उन्हें सेजमेकर एपीआई या के माध्यम से एक्सेस नहीं कर सकते AWS कमांड लाइन इंटरफ़ेस (AWS CLI)।

समाधान लॉन्च करें

समाधान लॉन्च करने के लिए, निम्नलिखित चरणों को पूरा करें:

  1. में जम्पस्टार्ट लांचर का उपयोग करके जम्पस्टार्ट खोलें शुरू करे अनुभाग या बाएँ साइडबार में जम्पस्टार्ट चिह्न चुनकर।
  2. के अंतर्गत समाधान ढूंढे, चुनें दुर्भावनापूर्ण उपयोगकर्ताओं और लेन-देन का पता लगाएं समाधान को किसी अन्य स्टूडियो टैब में खोलने के लिए।
    समाधान ढूंढे
  3. समाधान टैब पर, चुनें लांच समाधान शुरू करने के लिए।
    समाधान लॉन्च करें
    समाधान संसाधनों का प्रावधान किया गया है और परिनियोजन प्रगति दिखाते हुए एक अन्य टैब खुलता है। जब परिनियोजन समाप्त हो जाता है, तो नोटबुक खोलें बटन प्रकट होता है।
  4. चुनें नोटबुक खोलें स्टूडियो में समाधान नोटबुक खोलने के लिए।
    नोटबुक खोलें

डेटा की जांच और प्रक्रिया करें

डिफ़ॉल्ट डेटासेट में केवल संख्यात्मक विशेषताएं होती हैं, क्योंकि मूल सुविधाओं का उपयोग करके रूपांतरित किया गया है प्रिंसिपल कंपोनेंट एनालिसिस (पीसीए)) उपयोगकर्ता की गोपनीयता की रक्षा के लिए। परिणामस्वरूप, डेटासेट में 28 PCA घटक, V1-V28, और दो विशेषताएं शामिल हैं जिन्हें रूपांतरित नहीं किया गया है, राशि और समय। राशि लेन-देन की राशि को संदर्भित करती है, और समय डेटा में किसी भी लेनदेन और पहले लेनदेन के बीच बीता हुआ सेकंड है।

क्लास कॉलम इस बात से मेल खाता है कि कोई लेन-देन कपटपूर्ण है या नहीं।

नमूना डेटा

हम देख सकते हैं कि बहुमत गैर-धोखाधड़ी है, क्योंकि कुल 284,807 उदाहरणों में से केवल 492 (0.173%) ही धोखेबाज हैं। यह अत्यधिक वर्ग असंतुलन का मामला है, जो धोखाधड़ी का पता लगाने के परिदृश्यों में आम है।

डेटा वर्ग असंतुलन

फिर हम लोडिंग और प्रशिक्षण के लिए अपना डेटा तैयार करते हैं। हम अपने मॉडल के प्रदर्शन का मूल्यांकन करने के लिए पूर्व को प्रशिक्षित करने के लिए और बाद वाले का उपयोग करके डेटा को एक ट्रेन सेट और एक परीक्षण सेट में विभाजित करते हैं। वर्ग असंतुलन को कम करने के लिए किसी भी तकनीक को लागू करने से पहले डेटा को विभाजित करना महत्वपूर्ण है। अन्यथा, हम परीक्षण सेट से ट्रेन सेट में जानकारी लीक कर सकते हैं और मॉडल के प्रदर्शन को नुकसान पहुंचा सकते हैं।

यदि आप अपना स्वयं का प्रशिक्षण डेटा लाना चाहते हैं, तो सुनिश्चित करें कि यह CSV प्रारूप में सारणीबद्ध डेटा है, डेटा को एक पर अपलोड करें अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) बकेट, और नोटबुक कोड में S3 ऑब्जेक्ट पथ संपादित करें।

S3 . में डेटा पथ

यदि आपके डेटा में गैर-संख्यात्मक मानों वाले श्रेणीबद्ध कॉलम शामिल हैं, तो आपको इन मानों को एक-हॉट एन्कोड करना होगा (उदाहरण के लिए, उदाहरण के लिए, स्केलेर का OneHotEncoder) क्योंकि XGBoost एल्गोरिथम केवल संख्यात्मक डेटा का समर्थन करता है।

एक अनियंत्रित रैंडम कट वन मॉडल को प्रशिक्षित करें

धोखाधड़ी का पता लगाने के परिदृश्य में, हमारे पास आमतौर पर बहुत कम लेबल वाले उदाहरण होते हैं, और धोखाधड़ी को लेबल करने में बहुत समय और प्रयास लग सकता है। इसलिए, हम हाथ में बिना लेबल वाले डेटा से भी जानकारी निकालना चाहते हैं। हम एक विसंगति का पता लगाने वाले एल्गोरिदम का उपयोग करके ऐसा करते हैं, उच्च डेटा असंतुलन का लाभ उठाते हुए जो धोखाधड़ी का पता लगाने वाले डेटासेट में आम है।

विसंगति का पता लगाना अप्रशिक्षित सीखने का एक रूप है जहां हम पूरी तरह से उनकी विशेषता विशेषताओं के आधार पर विषम उदाहरणों की पहचान करने का प्रयास करते हैं। रैंडम कट फ़ॉरेस्ट एक अत्याधुनिक विसंगति का पता लगाने वाला एल्गोरिदम है जो सटीक और स्केलेबल दोनों है। प्रत्येक डेटा उदाहरण के साथ, RCF एक विसंगति स्कोर को जोड़ता है।

हम अपने प्रशिक्षण डेटासेट पर एक विसंगति का पता लगाने वाले मॉडल को प्रशिक्षित करने के लिए सेजमेकर बिल्ट-इन आरसीएफ एल्गोरिदम का उपयोग करते हैं, फिर अपने परीक्षण डेटासेट पर भविष्यवाणियां करते हैं।

सबसे पहले, हम सकारात्मक (धोखाधड़ी) और नकारात्मक (गैर-धोखाधड़ी) उदाहरणों के लिए अनुमानित विसंगति स्कोर की अलग-अलग जांच करते हैं और प्लॉट करते हैं, क्योंकि सकारात्मक और नकारात्मक उदाहरणों की संख्या काफी भिन्न होती है। हम उम्मीद करते हैं कि सकारात्मक (धोखाधड़ी वाले) उदाहरणों में अपेक्षाकृत उच्च विसंगति स्कोर होंगे, और नकारात्मक (गैर-धोखाधड़ी वाले) उदाहरणों में कम विसंगति स्कोर होंगे। हिस्टोग्राम से, हम निम्नलिखित पैटर्न देख सकते हैं:

  • लगभग आधे सकारात्मक उदाहरणों (बाएं हिस्टोग्राम) में विसंगति स्कोर 0.9 से अधिक है, जबकि अधिकांश नकारात्मक उदाहरणों (दाएं हिस्टोग्राम) में विसंगति स्कोर 0.85 से कम है।
  • अनुपयोगी शिक्षण एल्गोरिथम आरसीएफ में कपटपूर्ण और गैर-धोखाधड़ी वाले उदाहरणों की सही-सही पहचान करने की सीमाएं हैं। ऐसा इसलिए है क्योंकि कोई लेबल जानकारी का उपयोग नहीं किया जाता है। हम बाद के चरणों में लेबल जानकारी एकत्र करके और पर्यवेक्षित शिक्षण एल्गोरिथम का उपयोग करके इस समस्या का समाधान करते हैं।

अनुमानित विसंगति स्कोर

फिर, हम एक अधिक वास्तविक दुनिया के परिदृश्य को मानते हैं जहां हम प्रत्येक परीक्षण उदाहरण को उसके विसंगति स्कोर के आधार पर सकारात्मक (धोखाधड़ी) या नकारात्मक (गैर-धोखाधड़ी) के रूप में वर्गीकृत करते हैं। हम सभी परीक्षण उदाहरणों के लिए स्कोर हिस्टोग्राम को निम्नानुसार प्लॉट करते हैं, वर्गीकरण के लिए 1.0 का कटऑफ स्कोर (हिस्टोग्राम में दिखाए गए पैटर्न के आधार पर) का चयन करते हैं। विशेष रूप से, यदि किसी उदाहरण का विसंगति स्कोर 1.0 से कम या उसके बराबर है, तो इसे नकारात्मक (गैर-धोखाधड़ी) के रूप में वर्गीकृत किया जाता है। अन्यथा, उदाहरण को सकारात्मक (धोखाधड़ी) के रूप में वर्गीकृत किया गया है।

परीक्षण नमूनों के लिए स्कोर का हिस्टोग्राम

अंत में, हम वर्गीकरण परिणाम की तुलना जमीनी सच्चाई के लेबल से करते हैं और मूल्यांकन मेट्रिक्स की गणना करते हैं। क्योंकि हमारा डेटासेट असंतुलित है, हम मूल्यांकन मेट्रिक्स का उपयोग करते हैं संतुलित सटीकता, कोहेन का कप्पा स्कोर, एफ 1 का स्कोर, तथा आरओसी एयूसी, क्योंकि वे डेटा में प्रत्येक वर्ग की बारंबारता को ध्यान में रखते हैं। इन सभी मेट्रिक के लिए, बड़ा मान बेहतर भविष्य कहनेवाला प्रदर्शन दर्शाता है. ध्यान दें कि इस चरण में हम अभी तक आरओसी एयूसी की गणना नहीं कर सकते हैं, क्योंकि प्रत्येक उदाहरण पर आरसीएफ मॉडल से सकारात्मक और नकारात्मक वर्गों की कोई अनुमानित संभावना नहीं है। हम पर्यवेक्षित शिक्षण एल्गोरिदम का उपयोग करके बाद के चरणों में इस मीट्रिक की गणना करते हैं।

. आरसीएफ
संतुलित सटीकता 0.560023
कोहेन का कप्पा 0.003917
F1 0.007082
आरओसी एयूसी -

इस कदम से, हम देख सकते हैं कि गैर-पर्यवेक्षित मॉडल पहले से ही वर्गों के बीच कुछ अलगाव प्राप्त कर सकता है, जिसमें उच्च विसंगति स्कोर धोखाधड़ी वाले उदाहरणों से संबंधित हैं।

बिल्ट-इन वेटिंग स्कीमा के साथ XGBoost मॉडल को प्रशिक्षित करें

पर्याप्त मात्रा में लेबल किए गए प्रशिक्षण डेटा एकत्र करने के बाद, हम सुविधाओं और कक्षाओं के बीच संबंधों को खोजने के लिए एक पर्यवेक्षित शिक्षण एल्गोरिदम का उपयोग कर सकते हैं। हम XGBoost एल्गोरिथम को चुनते हैं क्योंकि इसका एक सिद्ध ट्रैक रिकॉर्ड है, अत्यधिक स्केलेबल है, और लापता डेटा से निपट सकता है। हमें इस बार डेटा असंतुलन को संभालने की जरूरत है, अन्यथा बहुसंख्यक वर्ग (गैर-धोखाधड़ी, या नकारात्मक उदाहरण) सीखने पर हावी हो जाएगा।

हम SageMaker बिल्ट-इन XGBoost एल्गोरिथम कंटेनर का उपयोग करके अपने पहले पर्यवेक्षित मॉडल को प्रशिक्षित और तैनात करते हैं। यह हमारा बेसलाइन मॉडल है। डेटा असंतुलन को संभालने के लिए, हम हाइपरपैरामीटर का उपयोग करते हैं scale_pos_weight, जो नकारात्मक वर्ग उदाहरणों के विरुद्ध सकारात्मक वर्ग उदाहरणों के भार को मापता है। चूंकि डेटासेट अत्यधिक विषम है, इसलिए हम इस हाइपरपैरामीटर को एक रूढ़िवादी मान पर सेट करते हैं: sqrt(num_nonfraud/num_fraud).

हम मॉडल को निम्नानुसार प्रशिक्षित और तैनात करते हैं:

  1. सेजमेकर XGBoost कंटेनर URI को पुनः प्राप्त करें।
  2. मॉडल प्रशिक्षण के लिए हम जिन हाइपरपैरामीटर का उपयोग करना चाहते हैं, उन्हें सेट करें, जिसमें हमने उल्लेख किया है कि डेटा असंतुलन को संभालता है, scale_pos_weight.
  3. एक XGBoost अनुमानक बनाएं और इसे हमारे ट्रेन डेटासेट से प्रशिक्षित करें।
  4. प्रशिक्षित XGBoost मॉडल को SageMaker प्रबंधित समापन बिंदु पर परिनियोजित करें।
  5. हमारे परीक्षण डेटासेट के साथ इस बेसलाइन मॉडल का मूल्यांकन करें।

फिर हम अपने मॉडल का मूल्यांकन उन्हीं चार मेट्रिक्स के साथ करते हैं जैसा कि अंतिम चरण में बताया गया है। इस बार हम ROC AUC मीट्रिक की गणना भी कर सकते हैं।

. आरसीएफ एक्सजीबूस्ट
संतुलित सटीकता 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

लैम्ब्डा के माध्यम से परीक्षण ट्रैफ़िक को समापन बिंदु पर भेजते रहें

उत्पादन प्रणाली में अपने मॉडलों का उपयोग कैसे करें, यह प्रदर्शित करने के लिए, हमने एक REST API बनाया है अमेज़ॅन एपीआई गेटवे और एक लैम्ब्डा समारोह। जब क्लाइंट एप्लिकेशन REST API को HTTP इंट्रेंस अनुरोध भेजते हैं, जो लैम्ब्डा फ़ंक्शन को ट्रिगर करता है, जो बदले में RCF और XGBoost मॉडल एंडपॉइंट्स को आमंत्रित करता है और मॉडल से भविष्यवाणियां लौटाता है। आप लैम्ब्डा फ़ंक्शन कोड पढ़ सकते हैं और लैम्ब्डा कंसोल पर इनवोकेशन की निगरानी कर सकते हैं।

हमने एक पायथन स्क्रिप्ट भी बनाई है जो इनपुट डेटा के रूप में हमारे परीक्षण डेटा के साथ, आरईएसटी एपीआई के लिए HTTP अनुमान अनुरोध करता है। यह कैसे किया गया, यह देखने के लिए देखें generate_endpoint_traffic.py समाधान के स्रोत कोड में फ़ाइल। भविष्यवाणी आउटपुट को एक S3 बकेट में a . के माध्यम से लॉग किया जाता है अमेज़न Kinesis डेटा Firehose वितरण धारा। आप 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 संतुलित सटीकता पर बेहतर प्रदर्शन प्राप्त करता है, लेकिन कोहेन के कप्पा और F1 स्कोर पर नहीं। इसका कारण यह है कि SMOTE ने धोखाधड़ी वर्ग का इतना अधिक नमूना लिया है कि इसने गैर-धोखाधड़ी मामलों के साथ फीचर स्पेस में अपना ओवरलैप बढ़ा दिया है। चूंकि कोहेन का कप्पा संतुलित सटीकता की तुलना में झूठी सकारात्मकता को अधिक महत्व देता है, इसलिए मीट्रिक महत्वपूर्ण रूप से गिरता है, जैसा कि धोखाधड़ी के मामलों के लिए सटीकता और F1 स्कोर करता है।

. आरसीएफ एक्सजीबूस्ट एक्सजीबूस्ट एसएमओटीई
संतुलित सटीकता 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 मॉडल को हाइपरपैरामीटर ऑप्टिमाइज़ेशन के साथ प्रशिक्षित करके मॉडल के प्रदर्शन को कैसे बेहतर बनाया जाए। जटिल एमएल सिस्टम का निर्माण करते समय, हाइपरपैरामीटर मानों के सभी संभावित संयोजनों की मैन्युअल रूप से खोज करना अव्यावहारिक है। सेजमेकर में एचपीओ फीचर आपकी ओर से एक मॉडल की कई विविधताओं को आजमाकर आपकी उत्पादकता को तेज कर सकता है। यह स्वचालित रूप से आपके द्वारा निर्दिष्ट सीमाओं के भीतर हाइपरपैरामीटर मानों के सबसे आशाजनक संयोजनों पर ध्यान केंद्रित करके सर्वश्रेष्ठ मॉडल की तलाश करता है।

एचपीओ प्रक्रिया को एक सत्यापन डेटासेट की आवश्यकता होती है, इसलिए हम पहले अपने प्रशिक्षण डेटा को प्रशिक्षण और सत्यापन डेटासेट में विभाजित करते हैं स्तरीकृत प्रतिचयन. डेटा असंतुलन की समस्या से निपटने के लिए, हम XGBoost के वेटिंग स्कीमा का फिर से उपयोग करते हैं, scale_pos_weight करने के लिए हाइपरपैरामीटर sqrt(num_nonfraud/num_fraud).

हम SageMaker बिल्ट-इन XGBoost एल्गोरिथम कंटेनर का उपयोग करके एक XGBoost अनुमानक बनाते हैं, और उद्देश्य मूल्यांकन मीट्रिक और हाइपरपैरामीटर रेंज निर्दिष्ट करते हैं जिसके भीतर हम प्रयोग करना चाहते हैं। इनसे हम तब a . बनाते हैं हाइपरपैरामीटरट्यूनर और एचपीओ ट्यूनिंग जॉब को शुरू करें, जो समानांतर में कई मॉडलों को प्रशिक्षित करता है, इष्टतम हाइपरपैरामीटर संयोजनों की तलाश में।

जब ट्यूनिंग कार्य पूरा हो जाता है, तो हम इसकी विश्लेषिकी रिपोर्ट देख सकते हैं और प्रत्येक मॉडल के हाइपरपैरामीटर, प्रशिक्षण कार्य की जानकारी और उद्देश्य मूल्यांकन मीट्रिक के विरुद्ध इसके प्रदर्शन का निरीक्षण कर सकते हैं।

ट्यूनिंग जॉब से प्रत्येक मॉडल की जानकारी की सूची

फिर हम सबसे अच्छे मॉडल को तैनात करते हैं और अपने परीक्षण डेटासेट के साथ इसका मूल्यांकन करते हैं।

एक ही परीक्षण डेटा पर सभी मॉडल प्रदर्शन का मूल्यांकन और तुलना करें

अब हमारे पास सभी चार मॉडलों के मूल्यांकन परिणाम हैं: RCF, XGBoost बेसलाइन, SMOTE के साथ XGBoost और HPO के साथ XGBoost। आइए उनके प्रदर्शन की तुलना करें।

. आरसीएफ एक्सजीबूस्ट SMOTE के साथ 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 संसाधनों को हटा दें। में समाधान हटाएं अपने समाधान टैब पर अनुभाग चुनें सभी संसाधन हटाएं इस समाधान को लॉन्च करते समय स्वचालित रूप से बनाए गए संसाधनों को हटाने के लिए।

समाधान हटाकर सफाई करें

वैकल्पिक रूप से, आप उपयोग कर सकते हैं एडब्ल्यूएस CloudFormation समाधान और नोटबुक द्वारा स्वचालित रूप से बनाए गए सभी मानक संसाधनों को हटाने के लिए। इस दृष्टिकोण का उपयोग करने के लिए, AWS CloudFormation कंसोल पर, CloudFormation स्टैक ढूंढें, जिसके विवरण में धोखाधड़ी-पहचान-उपयोग-मशीन-लर्निंग शामिल है, और इसे हटा दें। यह एक पैरेंट स्टैक है, और इस स्टैक को हटाने का चयन स्वचालित रूप से नेस्टेड स्टैक को हटा देगा।

CloudFormation के माध्यम से साफ करें

किसी भी दृष्टिकोण के साथ, आपको अभी भी इस नोटबुक में बनाए गए किसी भी अतिरिक्त संसाधन को मैन्युअल रूप से हटाने की आवश्यकता है। कुछ उदाहरणों में अतिरिक्त S3 बकेट (समाधान की डिफ़ॉल्ट बकेट के अलावा), अतिरिक्त SageMaker समापन बिंदु (कस्टम नाम का उपयोग करके), और अतिरिक्त शामिल हैं अमेज़ॅन इलास्टिक कंटेनर रजिस्ट्री (अमेज़ॅन ईसीआर) रिपॉजिटरी।

निष्कर्ष

इस पोस्ट में, हमने आपको दिखाया कि सेजमेकर के साथ एमएल का उपयोग करके एक गतिशील, आत्म-सुधार, और रखरखाव योग्य क्रेडिट कार्ड धोखाधड़ी पहचान प्रणाली का मूल कैसे बनाया जाए। हमने एक अनियंत्रित RCF विसंगति का पता लगाने वाला मॉडल बनाया, प्रशिक्षित किया और तैनात किया, बेसलाइन के रूप में एक पर्यवेक्षित XGBoost मॉडल, डेटा असंतुलन की समस्या से निपटने के लिए SMOTE के साथ एक और पर्यवेक्षित XGBoost मॉडल, और HPO के साथ अनुकूलित एक अंतिम XGBoost मॉडल। हमने चर्चा की कि डेटा असंतुलन को कैसे संभालें और समाधान में अपने डेटा का उपयोग कैसे करें। हमने एपीआई गेटवे और लैम्ब्डा के साथ एक उदाहरण आरईएसटी एपीआई कार्यान्वयन भी शामिल किया है ताकि यह प्रदर्शित किया जा सके कि आपके मौजूदा व्यावसायिक बुनियादी ढांचे में सिस्टम का उपयोग कैसे किया जाए।

इसे स्वयं आज़माने के लिए, खोलें सेजमेकर स्टूडियो और जम्पस्टार्ट समाधान लॉन्च करें। समाधान के बारे में अधिक जानने के लिए, इसकी जाँच करें गिटहब भंडार.


लेखक के बारे में

ज़ियाओली शेनज़ियाओली शेन Amazon Web Services में सॉल्यूशन आर्किटेक्ट और मशीन लर्निंग टेक्निकल फील्ड कम्युनिटी (TFC) का सदस्य है। वह ग्राहकों को क्लाउड पर आर्किटेक्चर करने और व्यावसायिक मूल्य प्राप्त करने के लिए AWS सेवाओं का लाभ उठाने में मदद करने पर केंद्रित है। AWS में शामिल होने से पहले, वह क्लाउड पर डेटा-इंटेंसिव डिस्ट्रीब्यूटेड सिस्टम बनाने वाली एक तकनीकी लीड और सीनियर फुल-स्टैक इंजीनियर थीं।

Amazon SageMaker प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ मशीन लर्निंग का उपयोग करके धोखाधड़ी वाले लेनदेन का पता लगाएं। लंबवत खोज. ऐ.डॉ शिन हुआंग अमेज़ॅन सेजमेकर जम्पस्टार्ट और अमेज़ॅन सेजमेकर बिल्ट-इन एल्गोरिदम के लिए एक अनुप्रयुक्त वैज्ञानिक है। वह स्केलेबल मशीन लर्निंग एल्गोरिदम विकसित करने पर ध्यान केंद्रित करता है। उनकी शोध रुचियां प्राकृतिक भाषा प्रसंस्करण, सारणीबद्ध डेटा पर व्याख्या योग्य गहरी शिक्षा और गैर-पैरामीट्रिक स्पेस-टाइम क्लस्टरिंग के मजबूत विश्लेषण के क्षेत्र में हैं। उन्होंने एसीएल, आईसीडीएम, केडीडी सम्मेलनों और रॉयल स्टैटिस्टिकल सोसाइटी: सीरीज ए जर्नल में कई पत्र प्रकाशित किए हैं।

Amazon SageMaker प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ मशीन लर्निंग का उपयोग करके धोखाधड़ी वाले लेनदेन का पता लगाएं। लंबवत खोज. ऐ.वेदांत जैन एक वरिष्ठ एआई/एमएल विशेषज्ञ समाधान आर्किटेक्ट है, जो ग्राहकों को एडब्ल्यूएस में मशीन लर्निंग इकोसिस्टम से मूल्य प्राप्त करने में मदद करता है। एडब्ल्यूएस में शामिल होने से पहले, वेदांत ने विभिन्न कंपनियों जैसे डेटाब्रिक्स, हॉर्टनवर्क्स (अब क्लौडेरा) और जेपी मॉर्गन चेस में एमएल / डेटा साइंस स्पेशलिटी पदों पर कार्य किया है। अपने काम के अलावा, वेदांत को संगीत बनाने, एक सार्थक जीवन जीने के लिए विज्ञान का उपयोग करने और दुनिया भर के स्वादिष्ट शाकाहारी व्यंजनों की खोज करने का शौक है।

समय टिकट:

से अधिक AWS मशीन लर्निंग

अमेज़ॅन पूर्वानुमान का उपयोग करके बिना किसी ऐतिहासिक डेटा वाले उत्पादों के लिए कोल्ड स्टार्ट पूर्वानुमान उत्पन्न करें, जो अब 45% अधिक सटीक है

स्रोत नोड: 1761594
समय टिकट: नवम्बर 21, 2022