বাস্তব জীবনের যে কোনো ডেটাসেট নিয়ে কাজ শুরুর প্রথম ও প্রধান চ্যালেঞ্জ হলো অগোছালো, অসম্পূর্ণ এবং ভুল তথ্য। কোনো ব্যবসা প্রতিষ্ঠানের গ্রাহক তালিকা থেকে শুরু করে গবেষণাগারের বৈজ্ঞানিক তথ্যভাণ্ডার পর্যন্ত সবখানেই কাঁচা ডেটার উপস্থিতি থাকে।
সেখানে হয়তো দেখা যায় একই ব্যক্তির নাম একাধিকবার এসেছে, বহু ঘরে ফোন নম্বর নেই কিংবা জন্মতারিখের ঘরে সাধারণ টেক্সট বা ভুল অক্ষর বসে আছে। এমন ত্রুটিপূর্ণ তথ্যের ওপর ভিত্তি করে কোনো বিশ্লেষণ দাঁড় করানো মানেই ভুল ফলাফলের দিকে এগিয়ে যাওয়া। আধুনিক ডেটা সায়েন্সে তাই বহুল প্রচলিত একটি নীতি হলো গারবেজ ইন, গারবেজ আউট—অর্থাৎ ইনপুট যদি ভুল হয়, তবে আউটপুটও নিশ্চিতভাবে বিভ্রান্তিকর হবে। বিশ্লেষণের উপযোগী করে কাঁচা তথ্যকে সুবিন্যস্ত, সামঞ্জস্যপূর্ণ এবং সম্পূর্ণ করার এই সার্বিক প্রক্রিয়াই হলো ডেটা ক্লিনিং বা তথ্য পরিমার্জন।
কাঁচা ডেটা সরাসরি কেন বিশ্লেষণে ব্যবহার করা যায় না?
বাস্তব ক্ষেত্র থেকে সংগ্রহ করা ডেটা কখনোই স্বয়ংক্রিয়ভাবে নির্ভুল বা ব্যবহারের উপযোগী হয়ে আসে না। ডেটা সংগ্রহের প্রক্রিয়ায় নানারকম মানবিক ভুল, সফটওয়্যারের প্রযুক্তিগত ত্রুটি কিংবা একাধিক ডেটাবেসের ভেতর অমিলের কারণে কাঁচা তথ্যের মধ্যে বিশৃঙ্খলা তৈরি হয়। ধরা যাক, একটি ই-কমার্স প্রতিষ্ঠানের বাৎসরিক বিক্রয় পর্যালোচনা করা হচ্ছে, যেখানে কোনো একটি পণ্যের নির্ধারিত দাম একশত টাকার জায়গায় ডেটা এন্ট্রি অপারেটরের ভুলে দশ হাজার টাকা যুক্ত হয়ে গেছে।
এই সামান্য একটি একক ভুল পুরো ক্যাটাগরির গড় বিক্রয়মূল্যকে অস্বাভাবিক বাড়িয়ে দেবে এবং ব্যবস্থাপনার কাছে ভুল বার্তা পাঠাবে। একইভাবে, গ্রাহকের শহরের ঘরে কেউ যদি বাংলায় ঢাকা লেখেন, আবার কেউ সংক্ষেপে ডিএইচকে বা ভিন্ন বানানে লেখেন, তবে ডেটাবেস সিস্টেম এগুলোকে তিনটি সম্পূর্ণ আলাদা ভৌগোলিক এলাকা হিসেবে শনাক্ত করবে। এই অসঙ্গতিগুলো দূর না করে ডেটা ভিজ্যুয়ালাইজেশন তৈরি করলে বা স্বয়ংক্রিয় কোনো পূর্বাভাসমূলক মডেল বানালে পুরো ব্যবসায়িক পরিকল্পনাই ভুলের ওপর গড়ে ওঠে।
ডেটা ক্লিনিংয়ের প্রাথমিক ও অপরিহার্য ধাপসমূহ
যেকোনো অগোছালো ডেটাসেট পরিমার্জন করার কোনো একক ধরাবাঁধা সূত্র নেই, কারণ তথ্যের ধরন ও ভবিষ্যৎ ব্যবহারের উদ্দেশ্যের ওপর ভিত্তি করে কৌশল বদলাতে হয়। তবে প্রাথমিক পর্যায়ে কিছু সুনির্দিষ্ট ধাপ ধারাবাহিকভাবে সম্পন্ন করা জরুরি।
১. দ্বৈত তথ্য বা ডুপ্লিকেট শনাক্ত ও দূরীকরণ

ডেটাবেসে একই তথ্যের পুনরাবৃত্তি ঘটাকে ডুপ্লিকেট বা দ্বৈত তথ্য বলা হয়। সাধারণত একাধিক স্প্রেডশিট একত্রিত করার সময়, বারবার একই ফর্ম সাবমিট হলে কিংবা ডেটা এন্ট্রির অসাবধানতায় এই সমস্যা সবচেয়ে বেশি দেখা যায়। ডুপ্লিকেট তথ্য থাকলে ডেটাসেটের মোট আকার অহেতুক বৃদ্ধি পায় এবং কোনো কিছুর গণনা বা সমষ্টি বের করতে গেলে দ্বিগুণ বা তিনগুণ হিসাব চলে আসে।
তবে কোনো সারি সরাসরি মুছে ফেলার আগে সাবধানতার সাথে যাচাই করতে হয় সেটি প্রকৃতপক্ষেই ডুপ্লিকেট কি না, কারণ একই নামে দুজন আলাদা গ্রাহক থাকতেই পারেন। তাই একক নাম বা উপাধির ওপর নির্ভর না করে প্রতিটি ডেটার ইউনিক শনাক্তকারী মান (যেমন: নির্দিষ্ট পরিচয়পত্র নম্বর, ফোন নম্বর কিংবা ইমেইল ঠিকানা) ধরে যাচাই করা উচিত। আধুনিক স্প্রেডশিট বা প্রোগ্রামিং টুলে স্বয়ংক্রিয়ভাবে দ্বৈত মান খুঁজে বের করার ফিচার থাকে, যার মাধ্যমে শর্ত নির্ধারণ করে সহজেই অতিরিক্ত সারিগুলো নিরাপদভাবে বাদ দেওয়া যায়।
২. অসম্পূর্ণ বা মিসিং ডেটা ব্যবস্থাপনা
ডেটাসেটের বিভিন্ন সারিতে প্রয়োজনীয় তথ্য সম্পূর্ণ না থাকা বা ফাঁকা ঘর থাকাকে মিসিং ডেটা বলে। ফর্ম পূরণের সময় গ্রাহক কিছু তথ্য গোপন রাখলে, নেটওয়ার্কের ত্রুটির কারণে সার্ভারে তথ্য পৌঁছাতে না পারলে কিংবা পুরনো নথি ডিজিটাইজ করার সময় কিছু অংশ নষ্ট হয়ে গেলে এই শূন্যতা তৈরি হয়। অসম্পূর্ণ ডেটা নিয়ে কাজ করার ক্ষেত্রে দুটি প্রধান রাস্তা রয়েছে: একটি হলো সরাসরি সারি মুছে ফেলা, অন্যটি হলো ফাঁকা স্থানে উপযুক্ত তথ্য বসানো।
যদি সম্পূর্ণ ডেটাসেটের তুলনায় ফাঁকা ঘরের সংখ্যা খুবই নগণ্য হয় (যেমন শতকরা এক বা দুই ভাগ), তবে সংশ্লিষ্ট সারিটি বাদ দিয়ে দেওয়া তুলনামূলক নিরাপদ। কিন্তু যদি বিপুল সংখ্যক ঘরে তথ্য অনুপস্থিত থাকে, তবে তা ঢালাওভাবে মুছে দিলে গুরুত্বপূর্ণ অনেক নমুনা হারিয়ে যাবে এবং বিশ্লেষণে গুরুতর পক্ষপাত তৈরি হবে। এই পরিস্থিতিতে পরিসংখ্যানের বিভিন্ন কৌশল প্রয়োগ করে ফাঁকা ঘরগুলোতে সামগ্রিক তথ্যের গড় মান, মধ্যক মান অথবা সর্বাধিক প্রচলিত মান বসিয়ে শূন্যতা পূরণ করা হয়।
৩. তথ্যের বিন্যাস ও মানসম্মত রূপান্তর
একটি কলামের ভেতরের তথ্যগুলোকে একটি নির্দিষ্ট কাঠামোতে নিয়ে আসার প্রক্রিয়াকে স্ট্যান্ডার্ডাইজেশন বা মানসম্মত রূপান্তর বলা হয়। একই তথ্য বিভিন্ন মানুষ বিভিন্নভাবে লিখতে পছন্দ করেন, যা কম্পিউটারের বিশ্লেষণী অ্যালগরিদমে বড় ধরনের বিভ্রান্তি ঘটায়। যেমন তারিখের ক্ষেত্রে কেউ হয়তো দিন-মাস-বছর লেখেন, আবার কেউ বছর-মাস-দিন কিংবা মাসের নাম অক্ষরে প্রকাশ করেন; বিশ্লেষণের সুবিধার্থে সমস্ত তারিখকে একটি সার্বজনীন কাঠামোতে (যেমন চার অঙ্কের বছর, দুই অঙ্কের মাস ও দুই অঙ্কের দিন) রূপান্তর করতে হয়।
টেক্সট বা বর্ণমালার ক্ষেত্রেও একই শব্দ কেউ বড় হাতের অক্ষরে, কেউ ছোট হাতের অক্ষরে লিখলে ডেটা প্রসেসর তাদের পৃথক ভাববে, তাই সব শব্দকে একীভূত বিন্যাসে নামিয়ে আনা বাধ্যতামূলক। এছাড়া শব্দের শুরুতে, মাঝে বা শেষে অনিচ্ছাকৃতভাবে থাকা অতিরিক্ত ফাঁকা জায়গা স্বয়ংক্রিয় ফাংশন ব্যবহার করে ছাঁটাই করা উচিত, অন্যথায় একই শব্দ হওয়ার পরেও ডেটাবেসে মেলবন্ধন তৈরি হতে ব্যর্থ হবে।
৪. চরম মান বা আউটলায়ার শনাক্তকরণ
আউটলায়ার হলো এমন কিছু ডেটা পয়েন্ট, যা ডেটাসেটের সাধারণ স্বাভাবিক প্রবণতা থেকে অস্বাভাবিকভাবে অনেক বড় কিংবা অনেক ছোট হয়ে থাকে। উদাহরণস্বরূপ, একটি সাধারণ বেসরকারি প্রতিষ্ঠানে অধিকাংশ কর্মীর বেতন যেখানে বিশ হাজার থেকে পঞ্চাশ হাজার টাকার মধ্যে, সেখানে ডেটা এন্ট্রির সময় অসাবধানতাবশত একটি শূন্য অতিরিক্ত লেগে কারও বেতন পাঁচ লক্ষ টাকা হয়ে যেতে পারে। এমন একটি চরম মান পুরো বিভাগের গড় বেতনের চিত্র সম্পূর্ণ বিকৃত করে দেবে এবং বাস্তব পরিস্থিতিকে আড়াল করবে।
স্ট্যাটিস্টিক্যাল বক্স প্লট, স্ক্যাটার প্লট কিংবা ইন্টারকোয়ার্টাইল রেঞ্জের মতো পরিসংখ্যানিক পদ্ধতির সাহায্যে এই ধরনের অসামঞ্জস্যপূর্ণ মানগুলোকে সহজেই চিহ্নিত করা যায়। আউটলায়ার শনাক্ত করার পর বিশ্লেষণ করে দেখতে হয় এটি টাইপিংয়ের সাধারণ ভুল নাকি বাস্তব কোনো ব্যতিক্রমী ঘটনা; টাইপিং ভুল হলে তা সংশোধন বা বাদ দেওয়া হয়, আর বাস্তব ব্যতিক্রম হলে তাকে সাধারণ বিশ্লেষণ থেকে আলাদা রেখে পর্যালোচনা করতে হয়।
৫. ডেটার ধরন ও যুক্তিসঙ্গত সীমা যাচাই
ডেটাসেটের প্রতিটি কলামে সংরক্ষিত তথ্যের একটি নির্দিষ্ট প্রকার বা টাইপ থাকা অত্যন্ত আবশ্যক। অনেক সময় দেখা যায় কোনো কলামে টাকার পরিমাণ বা বয়স থাকার কথা, যা গাণিতিক সংখ্যা হওয়ার কথা, কিন্তু এক্সপোর্ট করার ত্রুটির কারণে ডেটাবেস সেগুলোকে সাধারণ টেক্সট হিসেবে গণ্য করছে। টেক্সট আকারে থাকলে কম্পিউটার কোনো ধরনের যোগ, বিয়োগ বা গাণিতিক গড় নির্ণয় করতে পারে না, তাই কলামগুলোকে সঠিক নিউমেরিক ডেটা টাইপে রূপান্তর করা বাধ্যতামূলক।
এর পাশাপাশি তথ্যের যৌক্তিক সীমা পরীক্ষা করাও ক্লিনিংয়ের আরেকটি প্রধান দায়িত্ব। যেমন মানুষের বয়সের কলামে যদি কোনো মান শূন্যের নিচে মাইনাস সংখ্যায় থাকে কিংবা দুইশত বছরের বেশি হয়, তবে বুঝতে হবে সেখানে ভুল তথ্য প্রবেশ করেছে। এই ধরনের অসঙ্গতিপূর্ণ মানগুলোকে দ্রুত চিহ্নিত করে যথাযথ নিয়মে সংশোধন করতে হয়, যাতে পরবর্তী ধাপের পরিসংখ্যান সম্পূর্ণ নির্ভরযোগ্য থাকে।
নতুনদের জন্য প্রয়োজনীয় ডেটা ক্লিনিং টুলস
ডেটা ক্লিনিংয়ের প্রাথমিক পাঠ নেওয়ার ক্ষেত্রে শুরুতেই অত্যন্ত জটিল কোনো প্রযুক্তি ব্যবহারের প্রয়োজন পড়ে না। কাজের পরিধি এবং ডেটার আকারের ওপর ভিত্তি করে সঠিক টুল বেছে নেওয়াই বুদ্ধিমানের কাজ।
মাইক্রোসফট এক্সেল এবং গুগল শিটস

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

