লাভ:
- অনুপস্থিত ডেটা প্রকারগুলি (MCAR/MAR/MNAR), আউটলিয়ার এবং কোডিং ত্রুটিগুলি সনাক্ত করার ক্ষমতা এবং ক্লিনআপ কোড এবং ডায়াগনস্টিকগুলি তৈরি করতে সঠিক ডেটা সহ AI ব্যবহার করার ক্ষমতা
- কৃত্রিম বুদ্ধিমত্তা দ্বারা প্রস্তাবিত প্রতিটি পরিষ্কারের পদক্ষেপ (মোছা, অ্যাসাইনমেন্ট, রূপান্তর) কীভাবে বিশ্লেষণের ফলাফলকে প্রভাবিত করবে এবং একটি বিপরীত এবং নথিভুক্ত কর্মপ্রবাহ স্থাপন করবে তা দেখার ক্ষমতা
- পরিচ্ছন্নতার সিদ্ধান্তগুলি ডেটা তৈরি করার প্রক্রিয়ার জ্ঞানের উপর ভিত্তি করে এবং কৃত্রিম বুদ্ধিমত্তা হল একটি তত্ত্বাবধান সহকারী, অন্ধ স্বয়ংক্রিয়তা নয়
প্রতিটি অভিজ্ঞ বিশ্লেষক একটি সত্য জানেন: একটি অভিজ্ঞতামূলক প্রকল্পের বেশিরভাগ সময় মডেলিং নয়, তবে ডেটা পরিষ্কার করা (তথ্যের ত্রুটি, ভুল এবং অসঙ্গতিগুলি সংশোধন করার কাজ এবং এটি বিশ্লেষণের জন্য প্রস্তুত করা)। মোটামুটি নিয়ম হিসাবে, প্রায় 70-80% সময় ডেটা বোঝার, পরিষ্কার করা এবং রূপান্তর করার জন্য যায়; প্রকৃত বিশ্লেষণের জন্য মাত্র 20-30% বাকি। এই ইউনিটে, আমরা ধাপে ধাপে দেখব কিভাবে কৃত্রিম বুদ্ধিমত্তা (AI) এই ভারী বোঝা কমিয়ে দেয়, কিন্তু কোন সিদ্ধান্তগুলি এখনও আপনার কাছে থাকা উচিত এবং কেন।
প্রথমে দুটি মৌলিক তথ্য রাখা যাক। প্রথমত, পরিচ্ছন্নতার সিদ্ধান্তগুলি ডেটা তৈরি করার প্রক্রিয়া সম্পর্কে আপনার জ্ঞানের উপর ভিত্তি করে: শুধুমাত্র আপনি জানেন কেন একটি মান অনুপস্থিত, কেন একটি সংখ্যা অত্যধিক বড়। AI ডেটা দেখে না, প্রসঙ্গ জানে না; কোড লেখে, সিদ্ধান্ত নেয় না। দ্বিতীয়ত, প্রতিটি পরিষ্কারের পদক্ষেপ বিশ্লেষণের ফলাফল পরিবর্তন করতে পারে। একটি আউটলায়ার মুছে ফেলা সহগ উল্টাতে পারে; গড় দিয়ে অনুপস্থিত পূরণ করা কৃত্রিমভাবে বৈচিত্র কমাতে পারে। তাই পরিষ্কার করা উল্টানো যায় এবং নথিভুক্ত করা উচিত: কখনই কাঁচা ডেটা স্পর্শ করবেন না, কোডে প্রতিটি ধাপ করুন, প্রতিটি পদক্ষেপের প্রভাব রেকর্ড করুন।
ধাপে ধাপে পরিষ্কারের কর্মপ্রবাহ
1. তথ্য জানুন। প্রথমে গঠন দেখুন: সারি (পর্যবেক্ষণ) এবং কলামের সংখ্যা (ভেরিয়েবল), প্রতিটি ভেরিয়েবলের ধরন (সংখ্যাসূচক, শ্রেণীগত, তারিখ), সারাংশ পরিসংখ্যান, অনুপস্থিত সংখ্যা। আপনি এই "ডেটা প্রোফাইল" কোডের জন্য AI জিজ্ঞাসা করতে পারেন; কিন্তু আপনি আউটপুট পড়েন এবং প্রশ্ন জিজ্ঞাসা করুন "কেন এই ভেরিয়েবলটি পাঠ্য হিসাবে এসেছে?"
2. অনুপস্থিত ডেটা বুঝুন এবং শ্রেণীবদ্ধ করুন। অনুপস্থিত ডেটা তিন প্রকারে বিভক্ত। MCAR (মিসিং কমপ্লিটলি এট র্যান্ডম): অনুপস্থিত কোনো কিছুর কারণে নয়, উদাহরণস্বরূপ একটি সেন্সর এলোমেলোভাবে ব্যর্থ হয়েছে। MAR (এলোমেলোভাবে অনুপস্থিত): অনুপস্থিততা অন্যান্য পর্যবেক্ষিত ভেরিয়েবলের উপর নির্ভর করে, উদাহরণস্বরূপ বয়স্ক ব্যক্তিরা একটি প্রশ্ন প্রায়শই ফাঁকা রাখেন, কিন্তু আপনি বয়স জানেন। MNAR (মিসিং নট অ্যাট র্যান্ডম): অনুপস্থিত হওয়া নির্ভর করে অপ্রদর্শিত মূল্যের উপর, উদাহরণস্বরূপ উচ্চ উপার্জনকারীরা তাদের আয়ের রিপোর্ট করেন না। এই পার্থক্যটি গুরুত্বপূর্ণ কারণ এটি সমাধান পদ্ধতি নির্ধারণ করে এবং AI আপনার জন্য এটি নির্ধারণ করতে পারে না।
3. অভাব মোকাবেলা. বিকল্প: তালিকা অনুসারে মুছে ফেলা, গড়/মাঝারি অভিযোজন, মডেল-ভিত্তিক একাধিক অভিযোগ। MCAR-এ মুছে ফেলা তুলনামূলকভাবে নিরাপদ কিন্তু নমুনার আকার কমিয়ে দেয়। MAR-এ একাধিক অ্যাসাইনমেন্ট বেশি উপযুক্ত। কোন সহজ পদ্ধতি এমএনএআর-এ নিরপেক্ষতার গ্যারান্টি দেয় না; ঘাটতি প্রক্রিয়াটি মডেল করা উচিত বা অন্তত একটি সংবেদনশীলতা বিশ্লেষণ করা উচিত। গড় পূরণ করা সহজ কিন্তু বিপজ্জনক: এটি ভিন্নতা কমায়, সম্পর্ক দুর্বল করে এবং অনিশ্চয়তা লুকিয়ে রাখে।
4. বহিরাগতদের পরীক্ষা করুন। একটি আউটলিয়ার হল একটি পর্যবেক্ষণ যা অন্যদের থেকে অনেক দূরে অবস্থান করে। দুটি প্রশ্ন আলাদা করুন: এটি কি একটি ত্রুটি (ডাটা এন্ট্রিতে বয়স 999 লেখা হয়েছিল) নাকি এটি একটি বাস্তব কিন্তু বাইরের মূল্য (একজন বিলিয়নিয়ারের আয়)? বাগ ফিক্স; সত্য বহিরাগতদের মুছে ফেলবেন না কারণ তারা ডেটা প্রতিনিধিত্ব করে। "কারণ এটি বিরক্ত করে" আউটলাইয়ারটি মুছে ফেলার ফলে আপনি ফলাফলের দিকে ডেটা skewing করছেন।
5. কোডিং এবং ধারাবাহিকতা। প্রমিতকরণ বিভাগগুলি ("পুরুষ", "পুরুষ", "ই" সমস্ত একটি কোডে), তারিখগুলিকে একটি বিন্যাসে আনুন, ইউনিটগুলিকে একটি স্কেলে আনুন, সদৃশ সারিগুলি সনাক্ত করুন৷ এটি সবচেয়ে কম ঝুঁকিপূর্ণ পর্যায় যেখানে AI সবচেয়ে ভালো সাহায্য করে।
6. ডকুমেন্ট এবং ফ্রিজ. কাঁচা এবং পরিষ্কার করা ডেটা আলাদা রেখে কোড এবং একটি মন্তব্য লাইন সহ প্রতিটি ধাপ রেকর্ড করুন। তাই যখন একজন রেফারি জিজ্ঞাসা করেন "কেন এই পর্যবেক্ষণগুলি বাদ দেওয়া হয়েছিল?" আপনি আপনার উত্তর প্রস্তুত আছে.
সতর্কতা: ফলাফলের উপর ভিত্তি করে পরিষ্কারের সিদ্ধান্ত নেবেন না। "যখন আপনি এই লাইনটি মুছে ফেলবেন, গুণাঙ্কটি উল্লেখযোগ্য হয়ে যাবে" বলে একটি লাইন মুছে ফেলা হচ্ছে পি-হ্যাকিংয়ের সবচেয়ে প্রবণ রূপ, যা আমরা পরবর্তী ইউনিটে দেখতে পাব।
তুলনা সারণি: অনুপস্থিত ডেটা পদ্ধতি
পদ্ধতি
কখন এটা উপযুক্ত?
ঝুঁকি
AI এর ভূমিকা
একটি সারি মুছুন
MCAR, কম অনুপস্থিত হার
নমুনা ছোট হয়ে যায়, MAR/MNAR-এ পক্ষপাতিত্ব
কোড লেখেন; আপনি সিদ্ধান্ত নিন
গড়/মাঝারি অ্যাসাইনমেন্ট
দ্রুত প্রাথমিক বিশ্লেষণ
বৈষম্য কমায়, সম্পর্ক গোপন করে
এটা সহজ কিন্তু এটা সুপারিশ করে না; সতর্ক করা উচিত
একাধিক অ্যাসাইনমেন্ট (MI)
MAR, গুরুত্বপূর্ণ ভেরিয়েবল
সঠিকভাবে ইনস্টল না হলে এটি বিভ্রান্তিকর হবে
কোড এবং প্যাকেজ সুপারিশ করে (ইঁদুর)
মেকানিজম মডেলিং
MNAR
জটিল, অনুমান-নিবিড়
শুধুমাত্র খসড়া; বিশেষজ্ঞ প্রয়োজন
চারটি অনুলিপিযোগ্য প্রম্পট
1. ডেটা প্রোফাইলিং:
আপনার ভূমিকা: ডেটা পরিষ্কার সহকারী। আমি ডেটা শেয়ার করি না, আমি আর কোড চাই। আমার কাছে 'ডিজিট' নামে একটি ডেটা ফ্রেম আছে; ভেরিয়েবল: আইডি, বয়স (সাংখ্যিক), আয় (সংখ্যাসূচক), শিক্ষা (শ্রেণীগত), অঞ্চল (শ্রেণীগত), তারিখ (তারিখ)। টাস্ক: কোড লিখুন যা প্রতিটি ভেরিয়েবলের জন্য টাইপ, অনুপস্থিত সংখ্যা এবং হার তৈরি করে, সংখ্যাসূচকগুলির জন্য সারাংশ পরিসংখ্যান এবং শ্রেণীবদ্ধগুলির জন্য ফ্রিকোয়েন্সি টেবিল। মন্তব্য লাইন যোগ করুন.
2. অনুপস্থিত ডেটা নির্ণয়:
কোড লিখুন যা উপরের 'ডিজিট' ডেটার অনুপস্থিত প্যাটার্নটি পরীক্ষা করে: - প্রতিটি ভেরিয়েবলের অনুপস্থিত হার, - একটি সাধারণ টেবিল/গ্রাফ যা অন্যান্য ভেরিয়েবলের সাথে অনুপস্থিত হওয়ার সম্পর্ক দেখায়। আমি কোডের আউটপুট দেখব এবং MCAR/MAR/MNAR পার্থক্য করব; আপনি শুধু ডায়াগনস্টিক টুল তৈরি করেন, অ্যাসাইনমেন্ট পদ্ধতির বিষয়ে সিদ্ধান্ত নেবেন না।
3. বহিরাগত পরিদর্শন (মোছা নয়):
পরিবর্তনশীল 'আয়'-এর জন্য কোড লিখুন যা মুছে না দিয়ে বহিরাগতদের পরীক্ষা করে: বক্সপ্লট, আইকিউআর-ভিত্তিক সীমা, এবং টেবিল তালিকা বহির্ভূত পর্যবেক্ষণ + মান। আমি দেখব এগুলো ভুল নাকি বাস্তব। স্বয়ংক্রিয়ভাবে মুছে ফেলা যোগ করুন।
4. কোডিং প্রমিতকরণ:
'শিক্ষা' ভেরিয়েবলে, মানগুলি মিশ্রভাবে লেখা হয়: "প্রাথমিক বিদ্যালয়","প্রাথমিক বিদ্যালয়","প্রাথমিক","হাই স্কুল","হাই স্কুল","বিশ্ববিদ্যালয়","ইউনিভ"। R কোড লিখুন যা এইগুলিকে সামঞ্জস্যপূর্ণ বিভাগে পুনঃকোড করে; ম্যাপিং টেবিলটি পরিষ্কারভাবে দেখান যাতে আমি প্রতিটি রূপান্তর নিশ্চিত করতে পারি। "UNKNOWN" তে আপনি চিনতে পারেন না এমন মান সেট করুন।
দুর্বল প্রম্পট / শক্তিশালী প্রম্পট
দুর্বল প্রম্পট:
ডেটা পরিষ্কার করুন, শূন্যস্থান পূরণ করুন, বহিরাগতদের বাদ দিন।
এই চাহিদা বিপজ্জনক: এটি AI কে অন্ধ কর্তৃত্ব দেয়। কি ধরনের অনুপস্থিত, কি ধরনের ভরাট, কি বিপরীত সত্য - এর কিছুই স্পষ্ট নয়। ফলাফল একটি গোপন পক্ষপাতমূলক তথ্য সেট হতে পারে.
শক্তিশালী প্রম্পট:
আপনার ভূমিকা: পরিচ্ছন্নতার সহকারী, আপনি সিদ্ধান্ত গ্রহণকারী নন। ধাপে ধাপে যান এবং কোড লিখুন যা প্রতিটি ধাপের প্রভাব রিপোর্ট করে: 1) অনুপস্থিত প্যাটার্ন দেখান (মুছে ফেলবেন না/পূরণ করবেন না), 2) বহিরাগত প্রার্থীদের তালিকা করুন (মোছাবেন না), 3) ম্যাপিং টেবিলের সাথে বিভাগের অসঙ্গতিগুলি ঠিক করুন। প্রতিটি ধাপের পরে সারি গণনা এবং সারাংশের পরিসংখ্যান প্রিন্ট করুন যাতে আমি পরিবর্তনটি দেখতে এবং নিশ্চিত করতে পারি। স্বয়ংক্রিয় অ্যাসাইনমেন্ট/মোছার সন্নিবেশ।
পার্থক্যটি স্পষ্ট: শক্তিশালী ইচ্ছাশক্তি AI-কে তত্ত্বাবধানে সহকারী হিসাবে অবস্থান করে, বিপরীতমুখী এবং নথিভুক্ত পদক্ষেপগুলি তৈরি করে।
তিনটি মিনি কেস
কেস 1 — গড় অ্যাসাইনমেন্ট ফাঁদ। একজন বিশ্লেষকের 5,000 জনের আয়ের ডেটা 18% অনুপস্থিত ছিল। তিনি AI কে বলেছিলেন "শূন্যস্থান পূরণ করতে"; AI তাদের সব গড় করেছে। ফলাফল: আয়ের বৈচিত্র্য 22% কমেছে, এবং শিক্ষা-আয় সম্পর্কের সহগ তার চেয়ে দুর্বল হয়ে উঠেছে। সঠিক উপায়: ঘাটতি ছিল MAR (শিক্ষার কারণে), একাধিক অ্যাসাইনমেন্ট (ইঁদুর) দ্বারা পূরণ করতে হয়েছিল। পাঠ: ভরাট পদ্ধতি প্রক্রিয়ার উপর নির্ভর করে।
কেস 2 - বাইরের পরিষ্কার করা ফলাফলটিকে বিপরীত করে। একটি ফার্ম ডেটাতে 3টি খুব বড় সংস্থা (মোট পর্যবেক্ষণের 0.6%) ছিল। এআই এর "পরিষ্কার" পরামর্শ দ্বারা মুছে ফেলা হয়েছিল; স্কেল সহগ অর্থনীতি ইতিবাচক থেকে নেতিবাচক পরিণত হয়েছে. যাইহোক, এই 3 টি কোম্পানি বাস্তব এবং শিল্পের একটি গুরুত্বপূর্ণ অংশ ছিল। সঠিক উপায় ছিল মুছে ফেলার পরিবর্তে সম্পূর্ণ এবং শক্তিশালী অনুমানের সাথে রিপোর্ট করা। পাঠ: আসল বহিরাগতরা ডেটা, শব্দ নয়।
কেস 3 - সাইলেন্ট কোডিং এরর। একটি প্যানেলে, তারিখ পরিবর্তনশীল দুটি ভিন্ন ফর্ম্যাটে এসেছে ("2020-03-01" এবং "01/03/2020")। যখন AI দ্বারা উত্পাদিত সংমিশ্রণ কোড তাদের বিভিন্ন মানের জন্য ভুল করে, 1,400টি পর্যবেক্ষণ অমিল ছিল এবং বৃদ্ধির হার হাস্যকর হয়ে ওঠে। বিশ্লেষক সারি গণনা পরীক্ষা না করলে এটা কোন ব্যাপার না। পাঠ: প্রতিটি ধাপের পর পর্যবেক্ষণ গণনা এবং বিবেক পরীক্ষা করা আবশ্যক।
সাধারণ ভুল
- অন্ধভাবে গড় দিয়ে শূন্যস্থান পূরণ। এটি ভিন্নতা হ্রাস করে, অনিশ্চয়তা লুকায় এবং MAR/MNAR-এ পক্ষপাতিত্ব তৈরি করে। প্রথমে প্রক্রিয়াটি শ্রেণীবদ্ধ করুন।
- আউটলায়ারটি মুছে ফেলা হচ্ছে "কারণ এটি বিরক্ত করে"। সত্য বহিরাগত তথ্য প্রতিনিধিত্ব করে; মুছে ফেলা ফলাফল নমন হয়. যা ভুল তা সংশোধন করুন, যা আসল তা রাখুন।
- কাঁচা তথ্য আলতো চাপুন. কখনই কাঁচা ডেটা পরিবর্তন করবেন না; একটি পৃথক অনুলিপিতে কোড সহ সমস্ত পরিষ্কার করুন যাতে এটি প্রত্যাবর্তন করা যায়।
- পদক্ষেপের প্রভাব পরিমাপ না. যদি প্রতিটি ধাপের পরে সারি গণনা এবং সারাংশের পরিসংখ্যান চেক না করা হয়, তাহলে নীরব ত্রুটিগুলি জমা হবে৷
- ফলে পরিষ্কার করা হচ্ছে। "যখন আপনি এই লাইনটি যোগ করেন, ফলাফলটি আরও ভাল হয়" এর যুক্তি হল পি-হ্যাকিং; বিশ্লেষণের ফলাফলের আগে এবং স্বাধীনভাবে পরিষ্কারের পরিকল্পনা করা উচিত।
পরামর্শ: পরিষ্কার করার আগে এবং পরে একই মৌলিক পরিসংখ্যান (গড়, মধ্য, পর্যবেক্ষণের সংখ্যা, কয়েকটি পারস্পরিক সম্পর্ক) পাশাপাশি রাখে এমন একটি "আগে/পরে" টেবিল রাখুন। একটি অপ্রত্যাশিত লাফ একটি লুকানো ত্রুটির সেরা আশ্রয়দাতা।
সংক্ষেপে
ডেটা ক্লিনিং হল অভিজ্ঞতামূলক কাজের সবচেয়ে সময়সাপেক্ষ এবং সিদ্ধান্ত নেওয়ার পর্যায়। AI এটিতে একটি শক্তিশালী কোড জেনারেটর, কিন্তু এটি শটগুলিকে কল করতে পারে না: আপনি অনুপস্থিত ডেটা টাইপ (MCAR/MAR/MNAR) শ্রেণীবদ্ধ করুন, আউটলায়ারটি একটি ত্রুটি বা বাস্তব কিনা তা নির্ধারণ করুন, প্রতিটি পদক্ষেপকে বিপরীত এবং নথিভুক্ত রাখুন। AI অন্ধকে "ক্লিয়ার" কর্তৃত্ব দেওয়ার পরিবর্তে, একটি ধাপে ধাপে ওয়ার্কফ্লো স্থাপন করুন যার প্রভাব পরিমাপ করা হয় এবং যাচাই করা হয়। প্রতিটি ধাপের পর পর্যবেক্ষণের সংখ্যা এবং সারাংশ পরিসংখ্যান পরীক্ষা করা নীরব ত্রুটির সর্বোত্তম প্রতিষেধক।
আবেদন টাস্ক
একটি ডেটা সেটে (আপনার নিজস্ব ডেটা বা একটি নমুনা সেট) অনুপস্থিত এবং আউটলার ধারণ করে এমন অন্তত দুটি ভেরিয়েবল নির্বাচন করুন৷ উপরের "ধাপে ধাপে, মুছে ফেলবেন না/ফিল করবেন না" প্রম্পটের মাধ্যমে AI থেকে একটি ডায়াগনস্টিক কোডের অনুরোধ করুন এবং এটি চালান। অভাবটিকে MCAR/MAR/MNAR হিসাবে শ্রেণীবদ্ধ করুন এবং একটি বাক্যে আপনার ন্যায্যতা লিখুন। পরস্পর বিরোধী প্রার্থীদের একে একে পরীক্ষা করুন এবং সিদ্ধান্ত নিন কোনটি ভুল এবং কোনটি আসল। পরিশেষে, পরিষ্কার করার আগে/পরে একটি "আগে-পরে" টেবিল তৈরি করুন এবং কোনো অপ্রত্যাশিত পরিবর্তন হলে রিপোর্ট করুন।
চেকলিস্ট
- [ ] আমি এটি পরিবর্তন না করে একটি পৃথক অনুলিপিতে কাঁচা ডেটা পরিষ্কার করেছি।
- [ ] আমি ঘাটতিটিকে MCAR/MAR/MNAR হিসাবে শ্রেণীবদ্ধ করেছি এবং সেই অনুযায়ী পদ্ধতি বেছে নিয়েছি।
- [ ] আমি বহিরাগতদের একে একে পরীক্ষা করে দেখলাম তারা ভুল নাকি বাস্তব; আমি অন্ধভাবে মুছে ফেলিনি।
- [ ] আমি প্রতিটি পরিস্কার পদক্ষেপের পর পর্যবেক্ষণের সংখ্যা এবং সারাংশ পরিসংখ্যান পরীক্ষা করেছি।
- [ ] আমি কোড এবং একটি মন্তব্য লাইন সহ সমস্ত পদক্ষেপ নথিভুক্ত করেছি; বিপরীত
- [ ] আমি সেই প্রক্রিয়ার জ্ঞানের উপর ভিত্তি করে পরিস্কার করেছি যা ডেটা তৈরি করে, বিশ্লেষণের ফলাফলের উপর নয়।