কনসোল ব্যবহার করে ক্রেডিট কার্ড লেনদেনে জালিয়াতি সনাক্তকরণের জন্য Bigquery ML

1. ভূমিকা

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

তুমি কি শিখবে

  • Bigquery-এ উপলব্ধ ডেটা অন্বেষণ করুন
  • কনসোল ব্যবহার করে Bigquery তে SQL ব্যবহার করে একটি মডেল তৈরি করুন
  • তৈরি মডেলের ফলাফল মূল্যায়ন করুন
  • তৈরি করা মডেলের সাথে কোনও লেনদেন জালিয়াতিপূর্ণ কিনা তা ভবিষ্যদ্বাণী করুন

2. তথ্য সম্পর্কে

ডেটাসেটগুলিতে ২০১৩ সালের সেপ্টেম্বরে ইউরোপীয় কার্ডধারীদের ক্রেডিট কার্ডের মাধ্যমে করা লেনদেন রয়েছে। এই ডেটাসেটটিতে দুই দিনের মধ্যে সংঘটিত লেনদেনগুলি উপস্থাপন করা হয়েছে, যেখানে ২৮৪,৮০৭টি লেনদেনের মধ্যে ৪৯২টি জালিয়াতির ঘটনা ঘটেছে। এটি অত্যন্ত ভারসাম্যহীন, সমস্ত লেনদেনের ০.১৭২% হল ইতিবাচক শ্রেণী (জালিয়াতি)।

এতে শুধুমাত্র সংখ্যাসূচক ইনপুট ভেরিয়েবল রয়েছে যা একটি PCA রূপান্তরের ফলাফল। দুর্ভাগ্যবশত, গোপনীয়তার সমস্যার কারণে, আমরা মূল বৈশিষ্ট্য এবং ডেটা সম্পর্কে আরও পটভূমি তথ্য প্রদান করতে পারছি না।

  1. বৈশিষ্ট্য V1, V2, ... V28 হল PCA দিয়ে প্রাপ্ত প্রধান উপাদান, শুধুমাত্র যে বৈশিষ্ট্যগুলি PCA দিয়ে রূপান্তরিত হয়নি তা হল 'সময়' এবং 'পরিমাণ'।
  2. 'সময়' বৈশিষ্ট্যটিতে ডেটাসেটে প্রতিটি লেনদেন এবং প্রথম লেনদেনের মধ্যে অতিবাহিত সেকেন্ডগুলি অন্তর্ভুক্ত থাকে।
  3. বৈশিষ্ট্য 'পরিমাণ' হল লেনদেনের পরিমাণ, এই বৈশিষ্ট্যটি উদাহরণস্বরূপ-নির্ভর খরচ-সংবেদনশীল শিক্ষার জন্য ব্যবহার করা যেতে পারে।
  4. বৈশিষ্ট্য 'ক্লাস' হল প্রতিক্রিয়া পরিবর্তনশীল এবং জালিয়াতির ক্ষেত্রে এটির মান 1 এবং অন্যথায় 0 লাগে।

বড় ডেটা মাইনিং এবং জালিয়াতি সনাক্তকরণের উপর ওয়ার্ল্ডলাইন এবং ইউএলবি (ইউনিভার্সিটি লিব্রে ডি ব্রুসেলস)-এর মেশিন লার্নিং গ্রুপ ( http://mlg.ulb.ac.be ) এর একটি গবেষণা সহযোগিতার সময় ডেটাসেটটি সংগ্রহ এবং বিশ্লেষণ করা হয়েছে।

সম্পর্কিত বিষয়ের উপর বর্তমান এবং অতীতের প্রকল্পগুলির আরও বিশদ বিবরণ https://www.researchgate.net/project/Fraud-detection-5 এবং Defetefraud প্রকল্পের পৃষ্ঠায় পাওয়া যাবে।

উদ্ধৃতি:

আন্দ্রেয়া ডাল পোজ্জোলো, অলিভিয়ার কেলেন, রিড এ. জনসন এবং জিয়ানলুকা বনটেম্পি। ভারসাম্যহীন শ্রেণীবিভাগের জন্য আন্ডারস্যাম্পলিং সহ সম্ভাব্যতা ক্যালিব্রেট করা। কম্পিউটেশনাল ইন্টেলিজেন্স অ্যান্ড ডেটা মাইনিং (CIDM), IEEE, ২০১৫-এর সিম্পোজিয়ামে।

ডাল পোজ্জোলো, আন্দ্রেয়া; ক্যালেন, অলিভিয়ার; লে বোর্গনে, ইয়ান-আয়েল; ওয়াটারসকুট, সার্জ; বোন্টেম্পি, জিয়ানলুকা। একজন অনুশীলনকারীর দৃষ্টিকোণ থেকে ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণের শিক্ষা , অ্যাপ্লিকেশন সহ বিশেষজ্ঞ সিস্টেম,41,10,4915-4928,2014, পেরগামন

ডাল পোজ্জোলো, আন্দ্রেয়া; বোরাচ্চি, গিয়াকোমো; কেলেন, অলিভিয়ার; আলিপ্পি, সিজারে; বনটেম্পি, জিয়ানলুকা। ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণ: একটি বাস্তবসম্মত মডেলিং এবং একটি অভিনব শেখার কৌশল, নিউরাল নেটওয়ার্ক এবং শেখার সিস্টেমে IEEE লেনদেন,29,8,3784-3797,2018,IEEE

ডাল পোজ্জোলো, আন্দ্রেয়া অ্যাডাপ্টিভ মেশিন লার্নিং ফর ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণ ULB MLG পিএইচডি থিসিস (জি. বোন্টেম্পির তত্ত্বাবধানে)

কার্সিলো, ফ্যাব্রিজিও; ডাল পোজোলো, আন্দ্রেয়া; Le Borgne, Yann-Aël; ক্যালেন, অলিভিয়ার; মাজার, ইয়ানিস; বনটেম্পি, জিয়ানলুকা। স্কার্ফ: স্পার্ক, ইনফরমেশন ফিউশন, 41, 182-194,2018, এলসেভিয়ারের সাথে স্ট্রিমিং ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণের জন্য একটি মাপযোগ্য কাঠামো

কার্সিলো, ফ্যাব্রিজিও; লে বোর্গনে, ইয়ান-আয়েল; কেলেন, অলিভিয়ার; বোন্টেম্পি, জিয়ানলুকা। বাস্তব জীবনের ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণের জন্য সক্রিয় শেখার কৌশল স্ট্রিমিং: মূল্যায়ন এবং ভিজ্যুয়ালাইজেশন, ইন্টারন্যাশনাল জার্নাল অফ ডেটা সায়েন্স অ্যান্ড অ্যানালিটিক্স, 5,4,285-300,2018, স্প্রিংগার ইন্টারন্যাশনাল পাবলিশিং

বার্ট্রান্ড লেবিচট, ইয়ান-আয়েল লে বোর্গনে, লিয়ুন হে, ফ্রেডেরিক ওব্লে, জিয়ানলুকা বোন্টেম্পি ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণের জন্য গভীর-শিক্ষা ডোমেন অভিযোজন কৌশল , আইএনএনএসবিডিডিএল ২০১৯: বিগ ডেটা এবং গভীর শিক্ষায় সাম্প্রতিক অগ্রগতি, পৃষ্ঠা ৭৮-৮৮, ২০১৯

ফ্যাব্রিজিও কার্সিলো, ইয়ান-আয়েল লে বোর্গনে, অলিভিয়ার কেলেন, ফ্রেডেরিক ওব্লে, জিয়ানলুকা বোন্টেম্পি ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণ তথ্য বিজ্ঞানে তত্ত্বাবধানবিহীন এবং তত্ত্বাবধানবিহীন শিক্ষার সমন্বয় , ২০১৯

৩. আপনার পরিবেশ সেট আপ করুন

এই কোডল্যাবটি চালানোর জন্য আপনার বিলিং সক্ষম একটি Google ক্লাউড প্ল্যাটফর্ম প্রকল্পের প্রয়োজন হবে। একটি প্রকল্প তৈরি করতে, এখানে নির্দেশাবলী অনুসরণ করুন।

  1. bigquery API সক্রিয় করুন

BigQuery- তে নেভিগেট করুন এবং যদি এটি ইতিমধ্যেই সক্রিয় না থাকে তবে সক্ষম করুন নির্বাচন করুন। আপনার মডেল তৈরি করতে এটির প্রয়োজন হবে।

৪. তথ্য অন্বেষণ করুন

ধাপ ১: Bigquery-এ নেভিগেট করুন

https://cloud.google.com/console- এ Bigquery খুঁজুন।

ধাপ ২: কোয়েরি ব্যবহার করে ডেটা অন্বেষণ করুন

পাবলিক ডেটাসেটে থাকা ডেটা পর্যালোচনা করতে এডিটরে নিচের SQL কোয়েরিটি টাইপ করুন।

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

ধাপ ৩: কার্যকর করুন

কোয়েরিটি কার্যকর করতে উপরের রান কমান্ডটি টিপুন।

c670e136ecd58236.png সম্পর্কে

ফলাফল

কোয়েরি ফলাফল প্যানেলে থাকা উচিত এবং দেখতে এরকম কিছু হওয়া উচিত। তথ্য ভিন্ন হতে পারে

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;

৫. একটি আউটপুট ডেটাসেট তৈরি করুন

ধাপ ১: মডেল তৈরির জন্য ডেটাসেট তৈরি করুন

  1. এক্সপ্লোরার প্যানেলে - বাম দিকে আপনি যে প্রকল্পটিতে কাজ করছেন তা নির্বাচন করুন, তার পাশের তিনটি বিন্দুতে ক্লিক করুন।

7618699754e066bd.png

  1. উপরের ডানদিকে Create Dataset এ ক্লিক করুন

১৭৮৫১cc9db05dc1.png

  1. ডেটাসেটের নাম, ধারণ, অবস্থান ইত্যাদির জন্য বিশদ লিখুন, এই সেটিংস ব্যবহার করুন।

b8b6731408f61d57.png সম্পর্কে

৬. লজিস্টিক রিগ্রেশন মডেল তৈরি করুন

ধাপ ১: বিবৃতি তৈরি করুন

কোয়েরি উইন্ডোতে, মডেল তৈরির জন্য নীচের কোয়েরিটি টাইপ করুন। এই বিবৃতির সাহায্যে মূল বিকল্পগুলি বুঝুন। এই লিঙ্কে ব্যাখ্যা করা হয়েছে।

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`

ধাপ ২: কার্যকর করুন

উপরের বিবৃতিটি চালান। এটি সম্পূর্ণ হতে কয়েক মিনিট সময় লাগবে।

দৌড় শেষ হওয়ার পরে মূল বিষয়গুলি লক্ষ্য করুন

3385a54d3907443e.png সম্পর্কে

  1. এক্সপ্লোরার প্যানেলে মডেলটি তৈরি করা হবে
  2. কোয়েরি ফলাফল প্যানেলে ML SQL প্রক্রিয়া করতে যে সময় লেগেছে তা যেকোনো SQL স্টেটমেন্টের মতোই থাকবে।
  3. কোয়েরি ফলাফল প্যানেলে আপনার অন্বেষণের জন্য Go to Model লিঙ্কটিও থাকবে।

ধাপ ৩: অন্বেষণ করুন

Go to Model এ ক্লিক করে অথবা Explorer প্যানেল থেকে তৈরি মডেলটি অন্বেষণ করুন। ট্যাবগুলি তৈরি মডেল, প্রশিক্ষণ, মূল্যায়ন ইত্যাদি সম্পর্কে তথ্য প্রদান করে, ফলাফল পর্যালোচনা করুন।

b350f1b94835f2d1.png সম্পর্কে

আমরা পরবর্তী বিভাগগুলিতে এটি আরও অন্বেষণ করব।

লজিস্টিক রিগ্রেশন সম্পর্কে আরও জানতে এখানে দেখুন

৭. মডেল মূল্যায়ন মেট্রিক্স অন্বেষণ করা

এই ধাপে আমরা দেখব আমাদের মডেলটি কেমন পারফর্ম করেছে।

আপনার মডেল প্রশিক্ষণের কাজ শেষ হয়ে গেলে, আপনি যে মডেলটি প্রশিক্ষণ দিয়েছেন তার উপর ক্লিক করুন এবং মূল্যায়ন ট্যাবে একবার দেখুন। এখানে অনেক মূল্যায়ন মেট্রিক্স রয়েছে - আমরা কেবল একটির উপর ফোকাস করব :roc_auc

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

ফলাফলগুলি এরকম কিছু দেখাবে। ভারসাম্যহীন ডেটাসেটে roc_auc সাধারণত বেশি গুরুত্বপূর্ণ।

c3c80286082dc336.png সম্পর্কে

ফলাফল সম্পর্কে আরও জানতে। ML.Evaluate ডকুমেন্টগুলি এখানে দেখুন।

নির্ভুলতা এবং প্রত্যাহার

ROC কার্ভ এবং AUC

৮. একটি নির্দিষ্ট সময়ের জন্য ক্লাসের পূর্বাভাস দিন

একটি নতুন কোয়েরি তৈরি করুন টিপুন এবং নীচের 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. পরিষ্কার করা

আপনি যদি এই ল্যাব দিয়ে তৈরি রিসোর্সগুলি পরিষ্কার করতে চান, তাহলে বাম দিকের এক্সপ্লোরার প্যানেল থেকে ডেটাসেটটি খুলুন।

e7d18fadd2b781be.png সম্পর্কে

উপরের ডান কোণে ডেটাসেট মুছুন ক্লিক করুন

b47bc819869bed6c.png সম্পর্কে

বিস্তারিত নিশ্চিত করতে ডেটাসেটের নাম আবার লিখুন। আমাদের ক্ষেত্রে এটি হবে advdata

১০. অভিনন্দন

অভিনন্দন, আপনি সফলভাবে আপনার প্রথম মডেল তৈরি করেছেন, তত্ত্বাবধানে থাকা মেশিন লার্নিং ব্যবহার করে মূল্যায়ন এবং ভবিষ্যদ্বাণী করেছেন!

লজিস্টিক রিগ্রেশন মডেল তৈরির জন্য প্রয়োজনীয় মূল পদক্ষেপগুলি এখন আপনি জানেন।

এরপর কী?

ভবিষ্যদ্বাণী করার সাথে জড়িত এই অন্যান্য কিছু উপায় দেখুন

রেফারেন্স ডক্স