Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাহায্যে মেশিন লার্নিং ব্যবহার করে প্রতারণামূলক লেনদেন শনাক্ত করুন। উল্লম্ব অনুসন্ধান. আ.

Amazon SageMaker এর সাথে মেশিন লার্নিং ব্যবহার করে প্রতারণামূলক লেনদেন সনাক্ত করুন

দূষিত ব্যবহারকারী এবং প্রতারণামূলক লেনদেনের কারণে ব্যবসাগুলি প্রতি বছর বিলিয়ন ডলার হারাতে পারে। যত বেশি ব্যবসায়িক ক্রিয়াকলাপ অনলাইনে চলে আসছে, অনলাইন সিস্টেমে জালিয়াতি এবং অপব্যবহারও বাড়ছে। অনলাইন জালিয়াতির বিরুদ্ধে লড়াই করতে, অনেক ব্যবসা নিয়ম-ভিত্তিক জালিয়াতি সনাক্তকরণ সিস্টেম ব্যবহার করছে।

যাইহোক, ঐতিহ্যগত জালিয়াতি সনাক্তকরণ সিস্টেমগুলি মানুষের বিশেষজ্ঞদের হাতে তৈরি নিয়ম এবং ফিল্টারের সেটের উপর নির্ভর করে। ফিল্টারগুলি প্রায়শই ভঙ্গুর হতে পারে এবং নিয়মগুলি প্রতারণামূলক সংকেতগুলির সম্পূর্ণ বর্ণালী ক্যাপচার করতে পারে না৷ তদুপরি, যখন প্রতারণামূলক আচরণগুলি সর্বদা বিকশিত হচ্ছে, পূর্বনির্ধারিত নিয়ম এবং ফিল্টারগুলির স্থির প্রকৃতি কার্যকরভাবে প্রথাগত জালিয়াতি সনাক্তকরণ সিস্টেমগুলি বজায় রাখা এবং উন্নত করা কঠিন করে তোলে।

এই পোস্টে, আমরা আপনাকে দেখাবো কিভাবে মেশিন লার্নিং (ML) ব্যবহার করে একটি গতিশীল, স্ব-উন্নতি এবং রক্ষণাবেক্ষণযোগ্য ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণ সিস্টেম তৈরি করা যায়। আমাজন সেজমেকার.

বিকল্পভাবে, আপনি যদি কোড না লিখে কাস্টমাইজড জালিয়াতি সনাক্তকরণ মডেল তৈরি করার জন্য একটি সম্পূর্ণ পরিচালিত পরিষেবা খুঁজছেন, আমরা চেক আউট করার পরামর্শ দিই আমাজন জালিয়াতি সনাক্তকারী. Amazon Fraud Detector তাদের ডেটার জন্য কাস্টমাইজ করা জালিয়াতি শনাক্তকরণ মডেলগুলিকে স্বয়ংক্রিয়ভাবে তৈরি করতে ML অভিজ্ঞতা ছাড়াই গ্রাহকদের সক্ষম করে, AWS এবং Amazon.com থেকে 20 বছরেরও বেশি জালিয়াতি সনাক্তকরণ দক্ষতার ব্যবহার করে৷

সমাধান ওভারভিউ

এই সমাধান SageMaker ব্যবহার করে একটি ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণ সিস্টেমের মূল তৈরি করে। আমরা অ্যালগরিদম ব্যবহার করে একটি তত্ত্বাবধানহীন অসঙ্গতি সনাক্তকরণ মডেলকে প্রশিক্ষণ দিয়ে শুরু করি র্যান্ডম কাট ফরেস্ট (RCF). তারপরে আমরা অ্যালগরিদম ব্যবহার করে দুটি তত্ত্বাবধানে শ্রেণিবদ্ধকরণ মডেলকে প্রশিক্ষণ দিই এক্সজিবিস্ট, একটি বেসলাইন মডেল হিসাবে এবং অন্যটি ভবিষ্যদ্বাণী করার জন্য, ডেটাতে চরম শ্রেণীর ভারসাম্যহীনতা মোকাবেলায় বিভিন্ন কৌশল ব্যবহার করে। অবশেষে, আমরা একটি সর্বোত্তম XGBoost মডেলকে প্রশিক্ষণ দিই হাইপারপ্যারামিটার অপ্টিমাইজেশান (HPO) মডেল কর্মক্ষমতা আরও উন্নত করতে.

নমুনা ডেটাসেটের জন্য, আমরা সর্বজনীন, বেনামী ক্রেডিট কার্ড লেনদেন ব্যবহার করি ডেটা সেটটি যেটি মূলত একটি অংশ হিসাবে প্রকাশিত হয়েছিল গবেষণা ওয়ার্ল্ডলাইন এবং এর সহযোগিতা ULB এর মেশিন লার্নিং গ্রুপ (Université Libre de Bruxelles)। ওয়াকথ্রুতে, আপনি কীভাবে আপনার নিজের ডেটা ব্যবহার করার জন্য সমাধানটি কাস্টমাইজ করতে পারেন তাও আমরা আলোচনা করি।

সমাধানের আউটপুট নিম্নরূপ:

  • একটি unsupervised সেজমেকার আরসিএফ মডেল. মডেল প্রতিটি লেনদেনের জন্য একটি অসঙ্গতি স্কোর আউটপুট. একটি কম স্কোর মান নির্দেশ করে যে লেনদেন স্বাভাবিক (অ-প্রতারণামূলক) বলে বিবেচিত হয়। একটি উচ্চ মূল্য নির্দেশ করে যে লেনদেনটি প্রতারণামূলক। নিম্ন এবং উচ্চের সংজ্ঞা প্রয়োগের উপর নির্ভর করে, কিন্তু সাধারণ অনুশীলন পরামর্শ দেয় যে গড় স্কোর থেকে তিনটি মানক বিচ্যুতির বাইরে স্কোরগুলি অস্বাভাবিক বলে বিবেচিত হয়।
  • একটি তত্ত্বাবধান সেজমেকার XGBoost মডেলটি অত্যন্ত ভারসাম্যহীন ডেটা সমস্যা সমাধানের জন্য তার অন্তর্নির্মিত ওজন স্কিমা ব্যবহার করে প্রশিক্ষিত।
  • একটি তত্ত্বাবধানে SageMaker XGBoost মডেল ব্যবহার করে প্রশিক্ষিত সিথেটিক সংখ্যালঘু ওভার-স্যাম্পলিং টেকনিক (SMOTE)।
  • HPO সহ একটি প্রশিক্ষিত SageMaker XGBoost মডেল।
  • প্রতিটি লেনদেন জালিয়াতি হওয়ার সম্ভাবনার পূর্বাভাস। যদি একটি লেনদেনের আনুমানিক সম্ভাবনা একটি থ্রেশহোল্ডের বেশি হয়, তাহলে এটি জালিয়াতি হিসাবে শ্রেণীবদ্ধ করা হয়।

আপনি কীভাবে আপনার বিদ্যমান ব্যবসায়িক পরিকাঠামোতে এই সমাধানটি ব্যবহার করতে পারেন তা প্রদর্শন করতে, আমরা ব্যবহার করে মোতায়েন করা মডেল এন্ডপয়েন্টে REST API কল করার একটি উদাহরণও অন্তর্ভুক্ত করি এডাব্লুএস ল্যাম্বদা RCF এবং XGBoost উভয় মডেলকে ট্রিগার করতে।

নিম্নলিখিত চিত্রটি সমাধানের স্থাপত্যকে চিত্রিত করে।

পূর্বশর্ত

আপনার নিজের অ্যাকাউন্টে সমাধানটি চেষ্টা করার জন্য, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিতগুলি রয়েছে:

স্টুডিও ইনস্ট্যান্স প্রস্তুত হলে, আপনি স্টুডিও চালু করতে পারেন এবং জাম্পস্টার্ট অ্যাক্সেস করতে পারেন। জাম্পস্টার্ট সমাধানগুলি সেজমেকার নোটবুক উদাহরণগুলিতে উপলব্ধ নয় এবং আপনি সেজমেকার এপিআই বা এর মাধ্যমে সেগুলি অ্যাক্সেস করতে পারবেন না এডাব্লুএস কমান্ড লাইন ইন্টারফেস (AWS CLI)।

সমাধান চালু করুন

সমাধানটি চালু করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. জাম্পস্টার্ট লঞ্চার ব্যবহার করে জাম্পস্টার্ট খুলুন এবার শুরু করা যাক বিভাগ বা বাম সাইডবারে জাম্পস্টার্ট আইকন নির্বাচন করে।
  2. অধীনে সলিউশননির্বাচন ক্ষতিকারক ব্যবহারকারী এবং লেনদেন সনাক্ত করুন৷ অন্য স্টুডিও ট্যাবে সমাধান খুলতে।
    সমাধান খুঁজে বের কর
  3. সমাধান ট্যাবে, নির্বাচন করুন শুরু করা সমাধান চালু করতে।
    সমাধান চালু করুন
    সমাধান সংস্থানগুলি সরবরাহ করা হয়েছে এবং স্থাপনার অগ্রগতি দেখানো অন্য একটি ট্যাব খোলে। স্থাপনা শেষ হলে, একটি নোটবুক খুলুন বোতাম প্রদর্শিত হয়।
  4. বেছে নিন নোটবুক খুলুন স্টুডিওতে সমাধান নোটবুক খুলতে।
    নোটবুক খুলুন

তথ্য তদন্ত এবং প্রক্রিয়া

ডিফল্ট ডেটাসেটে শুধুমাত্র সংখ্যাসূচক বৈশিষ্ট্য রয়েছে, কারণ মূল বৈশিষ্ট্যগুলি ব্যবহার করে রূপান্তরিত করা হয়েছে প্রধান উপাদান বিশ্লেষণ (PCA) ব্যবহারকারীর গোপনীয়তা রক্ষা করতে। ফলস্বরূপ, ডেটাসেটে 28টি PCA উপাদান রয়েছে, V1–V28, এবং দুটি বৈশিষ্ট্য যা রূপান্তরিত হয়নি, পরিমাণ এবং সময়। পরিমাণ বলতে লেনদেনের পরিমাণ বোঝায়, এবং সময় হল ডেটার যেকোনো লেনদেন এবং প্রথম লেনদেনের মধ্যে অতিবাহিত সেকেন্ড।

ক্লাস কলাম একটি লেনদেন জালিয়াতি কিনা তা সম্পর্কিত।

নমুনা তথ্য

আমরা দেখতে পাচ্ছি যে সংখ্যাগরিষ্ঠটি অ-প্রতারণামূলক, কারণ মোট 284,807 উদাহরণের মধ্যে, শুধুমাত্র 492টি (0.173%) জালিয়াতিপূর্ণ। এটি চরম শ্রেণীর ভারসাম্যহীনতার একটি কেস, যা জালিয়াতি সনাক্তকরণের পরিস্থিতিতে সাধারণ।

ডেটা ক্লাসের ভারসাম্যহীনতা

তারপরে আমরা লোড এবং প্রশিক্ষণের জন্য আমাদের ডেটা প্রস্তুত করি। আমরা ডেটাকে একটি ট্রেন সেট এবং একটি পরীক্ষা সেটে বিভক্ত করি, আমাদের মডেলের কার্যকারিতা মূল্যায়নের জন্য পূর্বেরটি প্রশিক্ষণের জন্য এবং পরবর্তীটি ব্যবহার করে৷ শ্রেণির ভারসাম্যহীনতা দূর করার জন্য কোনো কৌশল প্রয়োগ করার আগে ডেটা বিভক্ত করা গুরুত্বপূর্ণ। অন্যথায়, আমরা ট্রেন সেটে পরীক্ষার সেট থেকে তথ্য ফাঁস করতে পারি এবং মডেলের কার্যকারিতাকে ক্ষতিগ্রস্ত করতে পারি।

আপনি যদি নিজের প্রশিক্ষণের ডেটা আনতে চান তবে নিশ্চিত করুন যে এটি CSV ফরম্যাটে ট্যাবুলার ডেটা, একটি ডেটা আপলোড করুন আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3) বালতি, এবং নোটবুক কোডে S3 অবজেক্ট পাথ সম্পাদনা করুন।

S3 এ ডেটা পাথ

যদি আপনার ডেটাতে অ-সংখ্যাসূচক মান সহ শ্রেণীবদ্ধ কলাম অন্তর্ভুক্ত থাকে তবে আপনাকে এই মানগুলিকে এক-হট এনকোড করতে হবে (উদাহরণস্বরূপ, sklearn এর OneHotEncoder) কারণ XGBoost অ্যালগরিদম শুধুমাত্র সংখ্যাসূচক ডেটা সমর্থন করে।

একটি unsupervised র্যান্ডম কাট বন মডেল প্রশিক্ষণ

একটি জালিয়াতি সনাক্তকরণের দৃশ্যে, আমাদের কাছে সাধারণত খুব কম লেবেলযুক্ত উদাহরণ থাকে এবং লেবেল জালিয়াতি অনেক সময় এবং প্রচেষ্টা নিতে পারে। অতএব, আমরা হাতে থাকা লেবেলবিহীন ডেটা থেকে তথ্য বের করতে চাই। আমরা একটি অসঙ্গতি সনাক্তকরণ অ্যালগরিদম ব্যবহার করে এটি করি, উচ্চ ডেটা ভারসাম্যহীনতার সুবিধা নিয়ে যা জালিয়াতি সনাক্তকরণ ডেটাসেটে সাধারণ।

অসামঞ্জস্যতা সনাক্তকরণ হল একটি তত্ত্বাবধানহীন শিক্ষার একটি রূপ যেখানে আমরা শুধুমাত্র তাদের বৈশিষ্ট্য বৈশিষ্ট্যের উপর ভিত্তি করে অস্বাভাবিক উদাহরণ সনাক্ত করার চেষ্টা করি। র‍্যান্ডম কাট ফরেস্ট হল একটি অত্যাধুনিক অসঙ্গতি সনাক্তকরণ অ্যালগরিদম যা নির্ভুল এবং মাপযোগ্য উভয়ই। প্রতিটি ডেটা উদাহরণের সাথে, RCF একটি অসঙ্গতি স্কোর যুক্ত করে।

আমরা আমাদের প্রশিক্ষণ ডেটাসেটে একটি অসঙ্গতি সনাক্তকরণ মডেলকে প্রশিক্ষণ দিতে SageMaker বিল্ট-ইন RCF অ্যালগরিদম ব্যবহার করি, তারপর আমাদের পরীক্ষার ডেটাসেটে ভবিষ্যদ্বাণী করি।

প্রথমত, আমরা ইতিবাচক (প্রতারণামূলক) এবং নেতিবাচক (অ-প্রতারণামূলক) উদাহরণগুলির জন্য ভবিষ্যদ্বাণীকৃত অসঙ্গতি স্কোরগুলি আলাদাভাবে পরীক্ষা করি এবং প্লট করি, কারণ ইতিবাচক এবং নেতিবাচক উদাহরণগুলির সংখ্যা উল্লেখযোগ্যভাবে পৃথক। আমরা আশা করি যে ইতিবাচক (প্রতারণামূলক) উদাহরণগুলির তুলনামূলকভাবে উচ্চ অসামঞ্জস্য স্কোর থাকবে এবং নেতিবাচক (অ-প্রতারণামূলক) উদাহরণগুলিতে কম অসঙ্গতি স্কোর থাকবে। হিস্টোগ্রাম থেকে, আমরা নিম্নলিখিত নিদর্শন দেখতে পারি:

  • প্রায় অর্ধেক ইতিবাচক উদাহরণের (বাম হিস্টোগ্রাম) অসঙ্গতি স্কোর 0.9-এর বেশি, যেখানে বেশিরভাগ নেতিবাচক উদাহরণের (ডান হিস্টোগ্রাম) অসঙ্গতি স্কোর 0.85-এর চেয়ে কম।
  • প্রতারণামূলক এবং অ-প্রতারণামূলক উদাহরণ নির্ভুলভাবে শনাক্ত করার জন্য তত্ত্বাবধানহীন লার্নিং অ্যালগরিদম RCF-এর সীমাবদ্ধতা রয়েছে। এর কারণ কোনো লেবেল তথ্য ব্যবহার করা হয় না। আমরা লেবেল তথ্য সংগ্রহ করে এবং পরবর্তী ধাপে তত্ত্বাবধানে শিক্ষার অ্যালগরিদম ব্যবহার করে এই সমস্যাটির সমাধান করি।

পূর্বাভাসিত অসঙ্গতি স্কোর

তারপরে, আমরা একটি বাস্তব-বিশ্বের দৃশ্যকল্প অনুমান করি যেখানে আমরা প্রতিটি পরীক্ষার উদাহরণকে এর অসঙ্গতি স্কোরের উপর ভিত্তি করে ইতিবাচক (প্রতারণামূলক) বা নেতিবাচক (অ-প্রতারণামূলক) হিসাবে শ্রেণীবদ্ধ করি। আমরা শ্রেণীবিভাগের জন্য 1.0 (হিস্টোগ্রামে দেখানো প্যাটার্নের উপর ভিত্তি করে) একটি কাটঅফ স্কোর বেছে নিয়ে নিম্নরূপ সমস্ত পরীক্ষার উদাহরণের জন্য স্কোর হিস্টোগ্রাম প্লট করি। বিশেষভাবে, যদি একটি উদাহরণের অসঙ্গতি স্কোর 1.0 এর চেয়ে কম বা সমান হয়, তবে এটি নেতিবাচক (অ-প্রতারণামূলক) হিসাবে শ্রেণীবদ্ধ করা হয়। অন্যথায়, উদাহরণটিকে ইতিবাচক (প্রতারণামূলক) হিসাবে শ্রেণীবদ্ধ করা হয়।

পরীক্ষার নমুনার জন্য স্কোরের হিস্টোগ্রাম

অবশেষে, আমরা গ্রাউন্ড ট্রুথ লেবেলের সাথে শ্রেণীবিভাগের ফলাফলের তুলনা করি এবং মূল্যায়নের মেট্রিক্স গণনা করি। যেহেতু আমাদের ডেটাসেট ভারসাম্যহীন, আমরা মূল্যায়ন মেট্রিক্স ব্যবহার করি সুষম নির্ভুলতা, কোহেনের কাপা স্কোর, F1 স্কোর, এবং ROC AUC, কারণ তারা ডেটাতে প্রতিটি ক্লাসের ফ্রিকোয়েন্সি বিবেচনা করে। এই সমস্ত মেট্রিক্সের জন্য, একটি বড় মান একটি ভাল ভবিষ্যদ্বাণীমূলক কর্মক্ষমতা নির্দেশ করে। মনে রাখবেন যে এই ধাপে আমরা এখনও ROC AUC গণনা করতে পারি না, কারণ প্রতিটি উদাহরণে RCF মডেল থেকে ইতিবাচক এবং নেতিবাচক শ্রেণীর জন্য কোন আনুমানিক সম্ভাবনা নেই। তত্ত্বাবধানে শেখার অ্যালগরিদম ব্যবহার করে আমরা পরবর্তী ধাপে এই মেট্রিকটি গণনা করি।

. RCF
সুষম নির্ভুলতা 0.560023
কোহেনের কাপ্পা 0.003917
F1 0.007082
ROC AUC -

এই ধাপ থেকে, আমরা দেখতে পাচ্ছি যে তত্ত্বাবধান না করা মডেলটি ইতিমধ্যেই ক্লাসগুলির মধ্যে কিছু বিচ্ছিন্নতা অর্জন করতে পারে, উচ্চতর অসঙ্গতি স্কোরগুলি জালিয়াতি উদাহরণগুলির সাথে সম্পর্কযুক্ত।

অন্তর্নির্মিত ওজন স্কিমা সহ একটি 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 মেট্রিকও গণনা করতে পারি।

. RCF এক্সজিবিস্ট
সুষম নির্ভুলতা 0.560023 0.847685
কোহেনের কাপ্পা 0.003917 0.743801
F1 0.007082 0.744186
ROC AUC - 0.983515

আমরা দেখতে পাচ্ছি যে ওয়েটিং স্কিমা সহ একটি তত্ত্বাবধানে শেখার পদ্ধতি XGBoost (হাইপারপ্যারামিটার ব্যবহার করে scale_pos_weight) তত্ত্বাবধানহীন শেখার পদ্ধতি RCF থেকে উল্লেখযোগ্যভাবে ভাল কর্মক্ষমতা অর্জন করে। তবে পারফরম্যান্সের উন্নতি করার জায়গা এখনও রয়েছে। বিশেষ করে, কোহেনের কাপ্পা স্কোরকে ০.৮-এর উপরে উন্নীত করা সাধারণত খুবই অনুকূল হবে।

একক-মূল্যের মেট্রিকগুলি ছাড়াও, প্রতি শ্রেণীতে পারফরম্যান্স নির্দেশ করে এমন মেট্রিকগুলি দেখতেও এটি কার্যকর। উদাহরণস্বরূপ, বিভ্রান্তি ম্যাট্রিক্স, প্রতি-শ্রেণীর নির্ভুলতা, প্রত্যাহার এবং F1-স্কোর আমাদের মডেলের কার্যকারিতা সম্পর্কে আরও তথ্য প্রদান করতে পারে।

XGBoost মডেলের বিভ্রান্তি ম্যাট্রিক্স

. স্পষ্টতা প্রত্যাহার f1-স্কোর সমর্থন
অ জালিয়াতি 1.00 1.00 1.00 28435
প্রতারণা 0.80 0.70 0.74 46

Lambda হয়ে শেষ পয়েন্টে পরীক্ষামূলক ট্রাফিক পাঠাতে থাকুন

একটি উত্পাদন সিস্টেমে আমাদের মডেলগুলি কীভাবে ব্যবহার করবেন তা প্রদর্শন করতে, আমরা এর সাথে একটি REST API তৈরি করেছি৷ অ্যামাজন এপিআই গেটওয়ে এবং একটি ল্যাম্বডা ফাংশন। যখন ক্লায়েন্ট অ্যাপ্লিকেশনগুলি REST API-তে HTTP অনুমান অনুরোধ পাঠায়, যা Lambda ফাংশনকে ট্রিগার করে, যা RCF এবং XGBoost মডেলের শেষ পয়েন্টগুলিকে আহ্বান করে এবং মডেলগুলি থেকে পূর্বাভাস ফেরত দেয়। আপনি Lambda ফাংশন কোড পড়তে পারেন এবং Lambda কনসোলে আহ্বানগুলি নিরীক্ষণ করতে পারেন।

আমরা একটি পাইথন স্ক্রিপ্টও তৈরি করেছি যা ইনপুট ডেটা হিসাবে আমাদের পরীক্ষার ডেটা সহ REST API-তে HTTP অনুমানের অনুরোধ করে। এটি কীভাবে করা হয়েছিল তা দেখতে, চেক করুন generate_endpoint_traffic.py সমাধানের সোর্স কোডে ফাইল করুন। পূর্বাভাস আউটপুট একটি মাধ্যমে একটি S3 বালতি লগ করা হয় আমাজন কিনেস ডেটা ফায়ারহোজ ose বিতরণ প্রবাহ। আপনি Kinesis Data Firehose কনসোলে গন্তব্য S3 বাকেটের নাম খুঁজে পেতে পারেন এবং S3 বালতিতে ভবিষ্যদ্বাণী ফলাফল পরীক্ষা করতে পারেন।

ওভার-স্যাম্পলিং কৌশল SMOTE সহ একটি XGBoost মডেলকে প্রশিক্ষণ দিন

এখন যেহেতু আমাদের কাছে XGBoost ব্যবহার করে একটি বেসলাইন মডেল রয়েছে, আমরা দেখতে পারি যে নমুনা নেওয়ার কৌশলগুলি যা বিশেষভাবে ভারসাম্যহীন সমস্যার জন্য ডিজাইন করা হয়েছে মডেলটির কার্যকারিতা উন্নত করতে পারে কিনা। আমরা ব্যাবহার করি সিথেটিক সংখ্যালঘু ওভার-স্যাম্পলিং (SMOTE), যা বিদ্যমানগুলির মধ্যে নতুন ডেটা পয়েন্ট ইন্টারপোলেট করে সংখ্যালঘু শ্রেণির নমুনা দেয়।

নিম্নরূপ পদক্ষেপ:

  1. আমাদের ট্রেন ডেটাসেটের সংখ্যালঘু শ্রেণী (প্রতারণামূলক শ্রেণী) ওভারস্যাম্পল করতে SMOTE ব্যবহার করুন। SMOTE সংখ্যালঘু শ্রেণীকে প্রায় 0.17-50% থেকে ছাড়িয়ে যায়। উল্লেখ্য যে এটি সংখ্যালঘু শ্রেণীর চরম ওভারস্যাম্পলিং এর একটি কেস। একটি বিকল্প হল একটি ছোট রিস্যাম্পলিং অনুপাত ব্যবহার করা, যেমন প্রতিটির জন্য একটি সংখ্যালঘু শ্রেণীর নমুনা থাকা sqrt(non_fraud/fraud) সংখ্যাগরিষ্ঠ নমুনা, বা আরো উন্নত resampling কৌশল ব্যবহার করে. আরও ওভার-স্যাম্পলিং বিকল্পের জন্য, পড়ুন ওভার-স্যাম্পলিং স্যাম্পলার তুলনা করুন.
  2. দ্বিতীয় XGBoost-এর প্রশিক্ষণের জন্য হাইপারপ্যারামিটারগুলি সংজ্ঞায়িত করুন যাতে স্কেল_পোস_ওয়েট সরানো হয় এবং অন্যান্য হাইপারপ্যারামিটারগুলি বেসলাইন XGBoost মডেলের প্রশিক্ষণের সময় একই থাকে। আমাদের আর এই হাইপারপ্যারামিটারের সাথে ডেটা ভারসাম্যহীনতা পরিচালনা করার দরকার নেই, কারণ আমরা ইতিমধ্যেই SMOTE এর সাথে এটি করেছি।
  3. SMOTE প্রক্রিয়াকৃত ট্রেন ডেটাসেটে নতুন হাইপারপ্যারামিটার সহ দ্বিতীয় XGBoost মডেলকে প্রশিক্ষণ দিন।
  4. একটি SageMaker পরিচালিত এন্ডপয়েন্টে নতুন XGBoost মডেল স্থাপন করুন।
  5. পরীক্ষার ডেটাসেট দিয়ে নতুন মডেলের মূল্যায়ন করুন।

নতুন মডেলের মূল্যায়ন করার সময়, আমরা দেখতে পাচ্ছি যে SMOTE-এর সাথে, XGBoost সুষম নির্ভুলতার উপর একটি ভাল পারফরম্যান্স অর্জন করে, কিন্তু Cohen-এর Kappa এবং F1 স্কোরে নয়। এর কারণ হল যে SMOTE জালিয়াতি শ্রেণীকে এত বেশি নমুনা দিয়েছে যে এটি নন-ফ্রড কেসগুলির সাথে বৈশিষ্ট্যের জায়গায় এর ওভারল্যাপ বাড়িয়েছে। যেহেতু কোহেনের কাপ্পা ভারসাম্যপূর্ণ নির্ভুলতার চেয়ে মিথ্যা ইতিবাচককে বেশি ওজন দেয়, মেট্রিক উল্লেখযোগ্যভাবে কমে যায়, যেমন প্রতারণার ক্ষেত্রে নির্ভুলতা এবং F1 স্কোর।

. RCF এক্সজিবিস্ট 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 থেকে বিভিন্ন থ্রেশহোল্ড পরীক্ষা করার পরে, আমরা দেখতে পাচ্ছি যে কোহেনের কাপ্পা থ্রেশহোল্ডের সাথে সাথে বাড়তে থাকে, সুষম নির্ভুলতার উল্লেখযোগ্য ক্ষতি ছাড়াই।

মেট্রিক্সের মধ্যে ভারসাম্য ফিরিয়ে আনতে বিভিন্ন থ্রেশহোল্ড পরীক্ষা করুন

এটি আমাদের মডেলে একটি দরকারী ক্রমাঙ্কন যোগ করে। আমরা একটি কম থ্রেশহোল্ড ব্যবহার করতে পারি যদি কোনো প্রতারণামূলক কেস (মিথ্যা নেতিবাচক) আমাদের অগ্রাধিকার না হয়, অথবা আমরা মিথ্যা ইতিবাচক সংখ্যা কমাতে থ্রেশহোল্ড বাড়াতে পারি।

HPO এর সাথে একটি সর্বোত্তম XGBoost মডেলকে প্রশিক্ষণ দিন

এই ধাপে, আমরা হাইপারপ্যারামিটার অপ্টিমাইজেশানের সাথে আমাদের তৃতীয় XGBoost মডেলকে প্রশিক্ষণ দিয়ে মডেলের কর্মক্ষমতা কীভাবে উন্নত করতে পারি তা প্রদর্শন করি। জটিল ML সিস্টেম তৈরি করার সময়, হাইপারপ্যারামিটার মানগুলির সমস্ত সম্ভাব্য সমন্বয় ম্যানুয়ালি অন্বেষণ করা অবাস্তব। SageMaker-এ HPO বৈশিষ্ট্যটি আপনার পক্ষ থেকে একটি মডেলের বিভিন্ন পরিবর্তনের চেষ্টা করে আপনার উত্পাদনশীলতাকে ত্বরান্বিত করতে পারে। এটি স্বয়ংক্রিয়ভাবে আপনার নির্দিষ্ট করা রেঞ্জের মধ্যে হাইপারপ্যারামিটার মানগুলির সবচেয়ে প্রতিশ্রুতিবদ্ধ সমন্বয়গুলিতে ফোকাস করে সেরা মডেলের সন্ধান করে৷

এইচপিও প্রক্রিয়াটির একটি বৈধতা ডেটাসেটের প্রয়োজন, তাই আমরা প্রথমে আমাদের প্রশিক্ষণ ডেটাকে প্রশিক্ষণ এবং বৈধতা ডেটাসেটে বিভক্ত করি স্তরিত নমুনা. ডেটা ভারসাম্যহীনতার সমস্যা মোকাবেলা করার জন্য, আমরা আবার XGBoost এর ওয়েটিং স্কিমা ব্যবহার করি, scale_pos_weight থেকে hyperparameter sqrt(num_nonfraud/num_fraud).

আমরা SageMaker বিল্ট-ইন XGBoost অ্যালগরিদম কন্টেইনার ব্যবহার করে একটি XGBoost অনুমানকারী তৈরি করি এবং উদ্দেশ্যমূলক মূল্যায়ন মেট্রিক এবং হাইপারপ্যারামিটার রেঞ্জগুলি নির্দিষ্ট করি যার মধ্যে আমরা পরীক্ষা করতে চাই৷ এগুলো দিয়ে আমরা তারপর একটি তৈরি করি হাইপারপ্যারামিটার টিউনার এবং HPO টিউনিং কাজ শুরু করুন, যা সমান্তরালভাবে একাধিক মডেলকে প্রশিক্ষণ দেয়, সর্বোত্তম হাইপারপ্যারামিটার সংমিশ্রণের সন্ধান করে।

টিউনিং কাজ সম্পূর্ণ হলে, আমরা এর বিশ্লেষণ প্রতিবেদন দেখতে পারি এবং প্রতিটি মডেলের হাইপারপ্যারামিটার, প্রশিক্ষণ কাজের তথ্য এবং উদ্দেশ্যমূলক মূল্যায়ন মেট্রিকের বিপরীতে এর কার্যকারিতা পরিদর্শন করতে পারি।

টিউনিং কাজ থেকে প্রতিটি মডেলের তথ্যের তালিকা

তারপরে আমরা সেরা মডেলটি স্থাপন করি এবং আমাদের পরীক্ষার ডেটাসেটের সাথে এটি মূল্যায়ন করি।

একই পরীক্ষার ডেটাতে সমস্ত মডেলের কর্মক্ষমতা মূল্যায়ন এবং তুলনা করুন

এখন আমাদের কাছে চারটি মডেলের মূল্যায়নের ফলাফল রয়েছে: RCF, XGBoost বেসলাইন, SMOTE এর সাথে XGBoost এবং HPO এর সাথে XGBoost। তাদের কর্মক্ষমতা তুলনা করা যাক.

. RCF এক্সজিবিস্ট 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
ROC AUC - 0.983515 0.967497 0.981564

আমরা দেখতে পাচ্ছি যে এইচপিওর সাথে XGBoost SMOTE পদ্ধতির চেয়ে আরও ভাল পারফরম্যান্স অর্জন করে। বিশেষ করে, কোহেনের কাপ্পা স্কোর এবং F1 0.8-এর বেশি, যা একটি সর্বোত্তম মডেলের কর্মক্ষমতা নির্দেশ করে।

পরিষ্কার কর

যখন আপনি এই সমাধানটি শেষ করেছেন, তখন নিশ্চিত করুন যে আপনি অনাকাঙ্ক্ষিত চার্জগুলি এড়াতে সমস্ত অবাঞ্ছিত AWS সংস্থান মুছে ফেলেছেন৷ মধ্যে সমাধান মুছুন আপনার সমাধান ট্যাবে বিভাগ, নির্বাচন করুন সমস্ত সংস্থান মুছুন এই সমাধানটি চালু করার সময় স্বয়ংক্রিয়ভাবে তৈরি সংস্থানগুলি মুছতে।

সমাধান মুছে পরিষ্কার করে

বিকল্পভাবে, আপনি ব্যবহার করতে পারেন এডাব্লুএস ক্লাউডফর্মেশন সমাধান এবং নোটবুক দ্বারা স্বয়ংক্রিয়ভাবে তৈরি সমস্ত মান সম্পদ মুছে ফেলার জন্য। এই পদ্ধতিটি ব্যবহার করতে, AWS CloudFormation কনসোলে, CloudFormation স্ট্যাকটি খুঁজুন যার বিবরণে জালিয়াতি-সনাক্তকরণ-ব্যবহার-মেশিন-লার্নিং রয়েছে এবং এটি মুছুন। এটি একটি প্যারেন্ট স্ট্যাক, এবং এই স্ট্যাকটি মুছে ফেলার জন্য বেছে নিলে নেস্টেড স্ট্যাকগুলি স্বয়ংক্রিয়ভাবে মুছে যাবে৷

ক্লাউডফর্মেশনের মাধ্যমে পরিষ্কার করুন

উভয় পদ্ধতির সাথে, আপনাকে এখনও এই নোটবুকে তৈরি করা অতিরিক্ত সংস্থানগুলিকে ম্যানুয়ালি মুছতে হবে। কিছু উদাহরণের মধ্যে রয়েছে অতিরিক্ত S3 বালতি (সমাধানের ডিফল্ট বালতি ছাড়াও), অতিরিক্ত সেজমেকার এন্ডপয়েন্ট (একটি কাস্টম নাম ব্যবহার করে), এবং অতিরিক্ত অ্যামাজন ইলাস্টিক কনটেইনার রেজিস্ট্রি (Amazon ECR) সংগ্রহস্থল।

উপসংহার

এই পোস্টে, আমরা আপনাকে দেখিয়েছি কিভাবে SageMaker-এর সাথে ML ব্যবহার করে একটি গতিশীল, স্ব-উন্নতি এবং রক্ষণাবেক্ষণযোগ্য ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণ সিস্টেমের মূল ভিত্তি তৈরি করা যায়। আমরা একটি তত্ত্বাবধানহীন RCF অসঙ্গতি সনাক্তকরণ মডেল, বেসলাইন হিসাবে একটি তত্ত্বাবধানে XGBoost মডেল, ডেটা ভারসাম্যহীনতার সমস্যা মোকাবেলা করার জন্য SMOTE-এর সাথে আরেকটি তত্ত্বাবধানে XGBoost মডেল এবং HPO-এর সাথে অপ্টিমাইজ করা একটি চূড়ান্ত XGBoost মডেল তৈরি, প্রশিক্ষিত এবং স্থাপন করেছি। আমরা আলোচনা করেছি কিভাবে ডেটা ভারসাম্যহীনতা পরিচালনা করা যায় এবং সমাধানে আপনার নিজস্ব ডেটা ব্যবহার করা যায়। আপনার বিদ্যমান ব্যবসায়িক পরিকাঠামোতে সিস্টেমটি কীভাবে ব্যবহার করবেন তা প্রদর্শন করতে আমরা API গেটওয়ে এবং ল্যাম্বডা সহ একটি REST API বাস্তবায়নের উদাহরণও অন্তর্ভুক্ত করেছি।

নিজে চেষ্টা করে দেখতে, খুলুন সেজমেকার স্টুডিও এবং জাম্পস্টার্ট সমাধান চালু করুন। সমাধান সম্পর্কে আরও জানতে, এটি পরীক্ষা করে দেখুন GitHub সংগ্রহস্থল.


লেখক সম্পর্কে

জিয়াওলি শেনজিয়াওলি শেন অ্যামাজন ওয়েব সার্ভিসেসের একজন সলিউশন আর্কিটেক্ট এবং মেশিন লার্নিং টেকনিক্যাল ফিল্ড কমিউনিটি (TFC) সদস্য। তিনি গ্রাহকদের ক্লাউডে আর্কিটেক্ট করতে এবং ব্যবসায়িক মূল্য অর্জনের জন্য AWS পরিষেবাগুলিকে সাহায্য করার দিকে মনোনিবেশ করেছেন৷ AWS-এ যোগদানের আগে, তিনি ক্লাউডে ডেটা-ইনটেনসিভ ডিস্ট্রিবিউটেড সিস্টেম তৈরির একজন টেক লিড এবং সিনিয়র ফুল-স্ট্যাক ইঞ্জিনিয়ার ছিলেন।

Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাহায্যে মেশিন লার্নিং ব্যবহার করে প্রতারণামূলক লেনদেন শনাক্ত করুন। উল্লম্ব অনুসন্ধান. আ.ডঃ জিন হুয়াং Amazon SageMaker JumpStart এবং Amazon SageMaker বিল্ট-ইন অ্যালগরিদমের জন্য একজন ফলিত বিজ্ঞানী। তিনি স্কেলেবল মেশিন লার্নিং অ্যালগরিদম বিকাশের দিকে মনোনিবেশ করেন। তার গবেষণার আগ্রহগুলি প্রাকৃতিক ভাষা প্রক্রিয়াকরণ, ট্যাবুলার ডেটার উপর ব্যাখ্যাযোগ্য গভীর শিক্ষা এবং নন-প্যারামেট্রিক স্পেস-টাইম ক্লাস্টারিংয়ের শক্তিশালী বিশ্লেষণের ক্ষেত্রে। তিনি ACL, ICDM, KDD কনফারেন্স এবং রয়্যাল স্ট্যাটিস্টিক্যাল সোসাইটি: সিরিজ এ জার্নালে অনেক গবেষণাপত্র প্রকাশ করেছেন।

Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাহায্যে মেশিন লার্নিং ব্যবহার করে প্রতারণামূলক লেনদেন শনাক্ত করুন। উল্লম্ব অনুসন্ধান. আ.বেদান্ত জৈন একজন সিনিয়র এআই/এমএল স্পেশালিস্ট সলিউশন আর্কিটেক্ট, গ্রাহকদের AWS-এর মেশিন লার্নিং ইকোসিস্টেম থেকে মূল্য বের করতে সাহায্য করে। AWS-এ যোগদানের আগে, বেদান্ত বিভিন্ন কোম্পানি যেমন Databricks, Hortonworks (এখন Cloudera) এবং JP Morgan Chase-এ ML/Data Science Speciality পদে অধিষ্ঠিত ছিলেন। তার কাজের বাইরে, বেদান্ত একটি অর্থপূর্ণ জীবনযাপনের জন্য বিজ্ঞানকে ব্যবহার করে সঙ্গীত তৈরি করতে এবং বিশ্বজুড়ে সুস্বাদু নিরামিষ খাবারের অন্বেষণে আগ্রহী।

সময় স্ট্যাম্প:

থেকে আরো এডাব্লুএস মেশিন লার্নিং

দুই-পর্যায়ের অ্যামাজন স্বীকৃতি কাস্টম লেবেল মডেল ব্যবহার করে উচ্চ-রেজোলিউশনের চিত্রে ত্রুটি সনাক্তকরণ | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1903809
সময় স্ট্যাম্প: অক্টোবর 19, 2023

Amazon Forecast ব্যবহার করে কোনো ঐতিহাসিক ডেটা ছাড়াই পণ্যের জন্য কোল্ড স্টার্টের পূর্বাভাস তৈরি করুন, এখন 45% পর্যন্ত আরও সঠিক

উত্স নোড: 1761594
সময় স্ট্যাম্প: নভেম্বর 21, 2022