Amazon SageMaker Data Wrangler এর সাথে মেশিন লার্নিং এর জন্য আপনার ডেটা ব্যালেন্স করুন

উত্স নোড: 1600102

অ্যামাজন সেজমেকার ডেটা র্যাংলার এর একটি নতুন ক্ষমতা আমাজন সেজমেকার এটি একটি ভিজ্যুয়াল ইন্টারফেস ব্যবহার করে মেশিন লার্নিং (ML) অ্যাপ্লিকেশনের জন্য ডেটা প্রস্তুত করতে ডেটা বিজ্ঞানী এবং প্রকৌশলীদের জন্য দ্রুততর করে তোলে৷ এটিতে 300 টিরও বেশি অন্তর্নির্মিত ডেটা ট্রান্সফরমেশন রয়েছে যাতে আপনি কোনও কোড না লিখেই দ্রুত স্বাভাবিককরণ, রূপান্তর এবং বৈশিষ্ট্যগুলিকে একত্রিত করতে পারেন৷

আজ, আমরা নতুন রূপান্তরগুলি ঘোষণা করতে পেরে উত্তেজিত যেগুলি আপনাকে ML মডেল প্রশিক্ষণের জন্য আপনার ডেটাসেটগুলিকে সহজে এবং কার্যকরভাবে ভারসাম্য করতে দেয়৷ আমরা এই পোস্টে এই রূপান্তরগুলি কীভাবে কাজ করে তা প্রদর্শন করি।

নতুন ব্যালেন্সিং অপারেটর

নতুন ঘোষিত ব্যালেন্সিং অপারেটরদের অধীনে গোষ্ঠীভুক্ত করা হয়েছে ভারসাম্য ডেটা রূপান্তর টাইপ মধ্যে ট্রানফর্ম যোগ করুন পেন।

বর্তমানে, ট্রান্সফর্ম অপারেটর শুধুমাত্র বাইনারি শ্রেণীবিভাগ সমস্যা সমর্থন করে। বাইনারি শ্রেণীবিন্যাস সমস্যায়, শ্রেণীবদ্ধকারীকে প্রতিটি নমুনাকে দুটি শ্রেণীর একটিতে শ্রেণীবদ্ধ করার দায়িত্ব দেওয়া হয়। সংখ্যাগরিষ্ঠ শ্রেণীর (বড়) নমুনার সংখ্যা সংখ্যালঘু (ছোট) শ্রেণীর নমুনার সংখ্যার তুলনায় যথেষ্ট বড় হলে, ডেটাসেটটিকে ভারসাম্যহীন বলে মনে করা হয়। এই তির্যকটি ML অ্যালগরিদম এবং শ্রেণীবিভাগকারীদের জন্য চ্যালেঞ্জিং কারণ প্রশিক্ষণ প্রক্রিয়াটি সংখ্যাগরিষ্ঠ শ্রেণীর প্রতি পক্ষপাতদুষ্ট।

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

ডেটা র্যাংলার এখন এর অংশ হিসাবে নিম্নলিখিত ব্যালেন্সিং অপারেটরদের সমর্থন করে ভারসাম্য ডেটা রূপান্তর:

  • র্যান্ডম ওভারস্যাম্পলার - এলোমেলোভাবে সংখ্যালঘু নমুনা নকল
  • এলোমেলো আন্ডারস্যাম্পলার - এলোমেলোভাবে সংখ্যাগরিষ্ঠ নমুনা সরান
  • SMOTE - প্রকৃত সংখ্যালঘু নমুনাগুলিকে ইন্টারপোলেট করে সিন্থেটিক সংখ্যালঘু নমুনা তৈরি করুন

এখন বিভিন্ন ব্যালেন্সিং অপারেটর নিয়ে বিস্তারিত আলোচনা করা যাক।

এলোমেলো ওভারস্যাম্পল

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

এলোমেলো আন্ডার নমুনা

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

SMOTE

SMOTE-তে, সংখ্যাগরিষ্ঠ এবং সংখ্যালঘু নমুনার মধ্যে পছন্দসই অনুপাত অর্জনের জন্য সিন্থেটিক সংখ্যালঘু নমুনাগুলি ডেটাতে যোগ করা হয়। কৃত্রিম নমুনাগুলি মূল সংখ্যালঘু বিন্দুগুলির জোড়ার ইন্টারপোলেশন দ্বারা উত্পন্ন হয়। দ্য SMOTE ট্রান্সফর্ম সাংখ্যিক এবং অ-সংখ্যাসূচক বৈশিষ্ট্য সহ ডেটাসেটগুলির ভারসাম্য সমর্থন করে। সাংখ্যিক বৈশিষ্ট্যগুলি ওজনযুক্ত গড় দ্বারা প্রসারিত হয়। যাইহোক, আপনি অ-সংখ্যাসূচক বৈশিষ্ট্যগুলিতে ওজনযুক্ত গড় ইন্টারপোলেশন প্রয়োগ করতে পারবেন না-এটি গড় করা অসম্ভব “dog” এবং “cat” উদাহরণ স্বরূপ. পরিবর্তে, অ-সংখ্যাসূচক বৈশিষ্ট্যগুলি গড় ওজন অনুসারে মূল সংখ্যালঘু নমুনা থেকে অনুলিপি করা হয়।

উদাহরণস্বরূপ, দুটি নমুনা বিবেচনা করুন, A এবং B:

A = [1, 2, "dog", "carnivore"]
B = [0, 0, "cow", "herbivore"]

অনুমান করুন নমুনাগুলি নমুনা A-এর জন্য 0.3 এবং নমুনা B-এর জন্য 0.7 ওজনের সাথে ইন্টারপোলেট করা হয়েছে। অতএব, এই ওজনগুলির সাথে সাংখ্যিক ক্ষেত্রগুলি গড়ে যথাক্রমে 0.3 এবং 0.6 পাওয়া যায়। পরের ক্ষেত্র দিয়ে ভরা হয় “dog” সম্ভাব্যতা 0.3 সহ এবং “cow” সম্ভাবনা 0.7 সহ। একইভাবে, পরেরটি সমান “carnivore” সম্ভাব্যতা 0.3 সহ এবং “herbivore” সম্ভাবনা 0.7 সহ। প্রতিটি বৈশিষ্ট্যের জন্য এলোমেলো অনুলিপি স্বাধীনভাবে করা হয়, তাই নীচের নমুনা সি একটি সম্ভাব্য ফলাফল:

C = [0.3, 0.6, "dog", "herbivore"]

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

হিউরিস্টিকভাবে আরও বাস্তবসম্মত নমুনা তৈরি করার জন্য, SMOTE শুধুমাত্র সেই জোড়াগুলিকে ইন্টারপোলেট করে যা বৈশিষ্ট্য স্থানের কাছাকাছি থাকে। প্রযুক্তিগতভাবে, প্রতিটি নমুনা শুধুমাত্র তার k- নিকটতম প্রতিবেশীদের সাথে ইন্টারপোলেট করা হয়, যেখানে k-এর একটি সাধারণ মান হল 5। আমাদের SMOTE বাস্তবায়নে, শুধুমাত্র সাংখ্যিক বৈশিষ্ট্যগুলি বিন্দুর মধ্যে দূরত্ব গণনা করতে ব্যবহৃত হয় (দূরত্বগুলি প্রতিবেশী নির্ধারণ করতে ব্যবহৃত হয় প্রতিটি নমুনার)। দূরত্ব গণনা করার আগে সাংখ্যিক বৈশিষ্ট্যগুলিকে স্বাভাবিক করা সাধারণ। মনে রাখবেন যে সংখ্যাগত বৈশিষ্ট্যগুলি শুধুমাত্র দূরত্ব গণনার উদ্দেশ্যে স্বাভাবিক করা হয়েছে; ফলে অন্তর্নিহিত বৈশিষ্ট্য স্বাভাবিক করা হয় না.

এর এখন ভারসাম্য করা যাক প্রাপ্তবয়স্কদের ডেটাসেট (সেনসাস ইনকাম ডেটাসেট নামেও পরিচিত) ডেটা র্যাংলার দ্বারা প্রদত্ত অন্তর্নির্মিত SMOTE ট্রান্সফর্ম ব্যবহার করে। এই মাল্টিভেরিয়েট ডেটাসেটে ছয়টি সংখ্যাসূচক বৈশিষ্ট্য এবং আটটি স্ট্রিং বৈশিষ্ট্য রয়েছে। ডেটাসেটের লক্ষ্য হল একটি বাইনারি শ্রেণীবিভাগের কাজ যেটি ভবিষ্যদ্বাণী করা যে একজন ব্যক্তির আয় প্রতি বছর $50,000 ছাড়িয়ে যাবে নাকি আদমশুমারির তথ্যের ভিত্তিতে নয়।

এছাড়াও আপনি ব্যবহার করে একটি হিস্টোগ্রাম তৈরি করে ক্লাসের বন্টন দৃশ্যত দেখতে পারেন ডেটা র্যাংলারে হিস্টোগ্রাম বিশ্লেষণের ধরন. লক্ষ্য বন্টন ভারসাম্যহীন এবং সাথে রেকর্ডের অনুপাত >50K থেকে <=50K প্রায় 1:4।

আমরা ব্যবহার করে এই তথ্য ভারসাম্য করতে পারেন SMOTE অধীনে পাওয়া অপারেটর ব্যালেন্স ডেটা নিম্নলিখিত পদক্ষেপগুলির সাথে ডেটা র্যাংলারে রূপান্তর করুন:

  1. বেছে নিন income লক্ষ্য কলাম হিসাবে।

আমরা চাই এই কলামের বন্টন আরও ভারসাম্যপূর্ণ হোক।

  1. পছন্দসই অনুপাত সেট করুন 0.66.

অতএব, সংখ্যালঘু এবং সংখ্যাগরিষ্ঠ নমুনার সংখ্যার মধ্যে অনুপাত হল 2:3 (1:4 এর কাঁচা অনুপাতের পরিবর্তে)।

  1. বেছে নিন SMOTE ব্যবহার করার রূপান্তর হিসাবে।
  2. এর জন্য ডিফল্ট মান ছেড়ে দিন প্রতিবেশীর সংখ্যা গড় এবং স্বাভাবিক করা বা না।
  3. বেছে নিন প্রি প্রয়োগকৃত রূপান্তরের পূর্বরূপ পেতে এবং চয়ন করুন বিজ্ঞাপন আপনার ডেটা প্রবাহে রূপান্তর যোগ করতে।

এখন আমরা ক্লাসের পুনঃসংযুক্ত বন্টন দেখতে আগে যা করেছি তার অনুরূপ একটি নতুন হিস্টোগ্রাম তৈরি করতে পারি। নিচের চিত্রটি হিস্টোগ্রাম দেখায় income ডেটাসেট ব্যালেন্স করার পর কলাম। নমুনা বিতরণ এখন 3:2, যেমনটি উদ্দেশ্য ছিল।

আমরা এখন এই নতুন ভারসাম্যপূর্ণ ডেটা রপ্তানি করতে পারি এবং এটিতে একটি শ্রেণিবদ্ধকারীকে প্রশিক্ষণ দিতে পারি, যা উচ্চতর ভবিষ্যদ্বাণীর গুণমান দিতে পারে।

উপসংহার

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

পরবর্তী পদক্ষেপ হিসাবে, আমরা আপনাকে এই পোস্টে আপনার ডেটা র‍্যাংলার ডেটা ফ্লোতে উদাহরণটি প্রতিলিপি করার পরামর্শ দিচ্ছি যাতে আমরা কী আলোচনা করেছি তা দেখতে৷ আপনি যদি ডেটা র‍্যাংলারে নতুন হন বা সেজমেকার স্টুডিও, নির্দেশ করে ডেটা র্যাংলার দিয়ে শুরু করুন. আপনার যদি এই পোস্ট সম্পর্কিত কোন প্রশ্ন থাকে, তাহলে মন্তব্য বিভাগে এটি যোগ করুন.


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

Yotam Elor অ্যামাজন সেজমেকারের একজন সিনিয়র ফলিত বিজ্ঞানী। তার গবেষণার আগ্রহ মেশিন লার্নিং, বিশেষ করে ট্যাবুলার ডেটার জন্য।

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

সূত্র: https://aws.amazon.com/blogs/machine-learning/balance-your-data-for-machine-learning-with-amazon-sagemaker-data-wrangler/

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

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