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

1. ভূমিকা

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

যা শিখবেন

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

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

ডেটাসেটগুলিতে ইউরোপীয় কার্ডধারীদের দ্বারা সেপ্টেম্বর 2013 সালে ক্রেডিট কার্ডের মাধ্যমে করা লেনদেন রয়েছে৷ এই ডেটাসেটটি দুই দিনে ঘটে যাওয়া লেনদেনগুলি উপস্থাপন করে, যেখানে আমাদের 284,807টি লেনদেনের মধ্যে 492টি জালিয়াতি হয়েছে৷ এটি অত্যন্ত ভারসাম্যহীন, সমস্ত লেনদেনের 0.172% জন্য ইতিবাচক শ্রেণী (জালিয়াতি) অ্যাকাউন্ট।

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

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

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

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

উদ্ধৃতি:

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

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

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

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

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

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

Bertrand Lebichot, Yann-Aël Le Borgne, Liyun He, Frederic Oble, Gianluca Bontempi Deep-Learning Domain Adaptation Techniques for Credit Cards Fraud Detection , INNSBDDL 2019: সাম্প্রতিক অগ্রগতি বিগ ডেটা এবং ডিপ লার্নিং, 018, pp087

Fabrizio Carcillo, Yann-Aël Le Borgne, Olivier Caelen, Frederic Oble, Gianluca Bontempi Combining Unsupervised and supervised Learning in Credit Card Fraud Detection Information Sciences, 2019

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

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

  1. bigquery API সক্ষম করুন৷

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

4. ডেটা অন্বেষণ করুন

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

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

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

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

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

ধাপ 3: চালান

ক্যোয়ারী চালানোর জন্য উপরে রান কমান্ড টিপুন

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;

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

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

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

7618699754e066bd.png

  1. উপরের ডানদিকে ডেটাসেট তৈরি করুন ক্লিক করুন

17851cc9db05dc1.png

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

b8b6731408f61d57.png

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

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

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

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`

ধাপ 2: চালান

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

রান সম্পূর্ণ হওয়ার পর মূল বিষয়গুলো লক্ষ্য করুন

3385a54d3907443e.png

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

ধাপ 3: এক্সপ্লোর করুন

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

b350f1b94835f2d1.png

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

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

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

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

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

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

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

c3c80286082dc336.png

ফলাফল সম্পর্কে আরো জানতে. এখানে ML.Evaluate ডক্স দেখুন

যথার্থতা এবং প্রত্যাহার

ROC কার্ভ এবং AUC

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

একটি নতুন ক্যোয়ারী কম্পোজ করুন এবং নিচের এসকিউএলটি এক্সিকিউট করুন। এখানে চিহ্নিত সময় একটি জালিয়াতি পরিমাণ আছে. আমরা মূল্যায়ন করার চেষ্টা করছি যে ভবিষ্যদ্বাণী কাজ করে

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 হবে

10. অভিনন্দন

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

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

এরপর কি?

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

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