লাভ:
- কাজের উদ্দেশ্য অনুযায়ী শ্রেণীবিভাগ এবং রিগ্রেশন মেট্রিক্স (বিভ্রান্তি ম্যাট্রিক্স, নির্ভুলতা/রিকল/F1, MAE/RMSE/R²) নির্বাচন এবং ব্যাখ্যা করার ক্ষমতা
- প্রশিক্ষণ এবং পরীক্ষার স্কোর তুলনা করে ওভারলার্নিং সনাক্ত করার ক্ষমতা এবং ক্রস-ভ্যালিডেশনের সাথে নির্ভরযোগ্য কর্মক্ষমতা অর্জন করার ক্ষমতা
- প্রতিটি মডেল একটি বেসলাইনের সাথে তুলনা করে প্রকৃত মান যোগ করে কিনা তা মূল্যায়ন করার ক্ষমতা
একটি মডেল সেট আপ করা সহজ; এটি সত্যিই কাজ করে কিনা তা সৎভাবে পরিমাপ করা কঠিন। এই ইউনিটের বিষয় হল একজন ডেটা সায়েন্টিস্টের সবচেয়ে সমালোচনামূলক দক্ষতা: সঠিক মেট্রিক্সের সাথে মডেলটিকে মূল্যায়ন করা, নির্ভরযোগ্য ভবিষ্যদ্বাণীমূলক কর্মক্ষমতা অর্জন করা এবং সবচেয়ে কপট ফাঁদ ধরা: ওভারলার্নিং (স্মরণ)। AI গণনা করে, ব্যাখ্যা করে এবং মেট্রিক্স তুলনা করে; কিন্তু কোন মেট্রিক আপনার ব্যবসার জন্য সঠিক এবং একটি মডেল "যথেষ্ট ভাল" কিনা তা সিদ্ধান্ত নেওয়া মানুষের উপর নির্ভর করে। একটি দল ভুল মেট্রিকের দিকে তাকিয়ে একটি খারাপ মডেলকে কয়েক মাস ধরে "সাফল্য" হিসাবে ভুল করতে পারে।
কেন নির্ভুলতা যথেষ্ট নয়: বিভ্রান্তি ম্যাট্রিক্স
শ্রেণীবিভাগে প্রথম যে মেট্রিকটি মনে আসে তা হল নির্ভুলতা (নির্ভুলতা — সঠিক ভবিষ্যদ্বাণীর মোট অনুপাত)। কিন্তু আমরা ইউনিট 6 এ যেমন দেখেছি, সঠিকতা ভারসাম্যহীন ডেটার সাথে বিভ্রান্তিকর। একটি ভাল শুরু হল বিভ্রান্তি ম্যাট্রিক্স - একটি টেবিল যা ভবিষ্যদ্বাণীগুলিকে চারটি বিনে ভাগ করে:
- সত্যিকারের ইতিবাচক (TP): আমরা যাকে জাল বলেছি তা আসলেই নকল। (ভাল)
- সত্য নেতিবাচক (TN): আমরা সত্যিই পরিষ্কার বলেছি. (ভাল)
- ফলস পজিটিভ (FP): আমরা ভুল করে বলেছি যে পরিষ্কারটি জাল। (মিথ্যা অ্যালার্ম)
- মিথ্যা নেতিবাচক (এফএন): আমরা জালটি মিস করেছি এবং এটিকে পরিষ্কার বলেছি। (মিসড হুমকি)
এই চারটি বাক্স থেকে দুটি মূল মেট্রিক্স পাওয়া যায়। যথার্থতা: "আমি যাকে জাল বলি তার কতটা আসলে নকল?" - গুরুত্বপূর্ণ যদি মিথ্যা অ্যালার্ম খরচ বেশি হয়। সংবেদনশীলতা (ইংরেজিতে স্মরণ করুন): "আমি কতগুলো আসল নকল ধরলাম?" - গুরুত্বপূর্ণ যখন একটি হুমকি অনুপস্থিত ব্যয়বহুল. দুটি প্রায়ই একে অপরের সাথে মতবিরোধে থাকে: আপনি যদি থ্রেশহোল্ড কম করেন এবং আরও "জাল" বলেন, তবে স্মরণ বাড়ে কিন্তু নির্ভুলতা হ্রাস পায়। F1 স্কোর হল এই দুটির সুষম গড় (হারমোনিক গড়)।
মনোযোগ: "কোন মেট্রিক গুরুত্বপূর্ণ" প্রশ্নের উত্তরটি একটি ব্যবসায়িক সিদ্ধান্ত, প্রযুক্তিগত নয়। ক্যান্সার স্ক্রীনিংয়ে একটি কেস (কম প্রত্যাহার) অনুপস্থিত বিপর্যয়কর; স্প্যাম ফিল্টারে স্প্যামে (নিম্ন নির্ভুলতা) একটি গুরুত্বপূর্ণ ইমেল পাঠানো বিরক্তিকর। খরচ মেট্রিক নির্ধারণ করে।
রিগ্রেশন মেট্রিক্স
আউটপুট সংখ্যা হলে, বিভিন্ন মেট্রিক্স ব্যবহার করা হয়। MAE (মান পরম ত্রুটি): একই ইউনিটে প্রকৃত গড় থেকে অনুমান কতটা বিচ্যুত হয় (যেমন "আমরা গড়ে 4,200 TL দ্বারা ভুল")। RMSE (রুট মিন স্কোয়ার্ড ত্রুটি): বড় ত্রুটিগুলিকে আরও গুরুতরভাবে শাস্তি দেয় এবং বহিরাগতদের প্রতি সংবেদনশীল। R² (R-squared — নির্ণয়ের সহগ): লক্ষ্যের কত পরিবর্তনশীলতা মডেলটি ব্যাখ্যা করে (1 এর কাছাকাছি ভাল, 0 গড় ভবিষ্যদ্বাণী করার মতো খারাপ, নেতিবাচক আরও খারাপ)।
সবচেয়ে কপট ফাঁদ: অত্যধিক শিক্ষা
ওভারফিটিং - যেখানে মডেল প্রশিক্ষণের ডেটা মুখস্থ করে কিন্তু নতুন ডেটাতে ব্যর্থ হয় - ডেটা বিজ্ঞানের সবচেয়ে সাধারণ ভুল। লক্ষণটি স্পষ্ট: প্রশিক্ষণ সেটে মডেলটি দুর্দান্ত (98%), পরীক্ষার সেটে খারাপ (72%)। মডেলটি সেই নির্দিষ্ট নমুনার শব্দ মুখস্ত করেছে, ডেটাতে প্রকৃত প্যাটার্ন নয়। এর বিপরীতটিও রয়েছে: আন্ডারফিটিং- মডেলটি প্রশিক্ষণ এবং পরীক্ষা উভয় ক্ষেত্রেই খারাপ কারণ প্যাটার্নটি ক্যাপচার করা খুব সহজ।
ওভারলার্নিং মোকাবেলা করার উপায়: মডেলকে সরলীকরণ, আরও ডেটা, নিয়মিতকরণ — গাণিতিক ব্রেক যা মডেলটিকে খুব জটিল হওয়া থেকে রক্ষা করে — এবং সবচেয়ে গুরুত্বপূর্ণ, ক্রস-ভ্যালিডেশন।
ক্রস-বৈধকরণ: একক ফলকে বিশ্বাস করবেন না
একটি একক প্রশিক্ষণ/পরীক্ষা পড ভাগ্যবান বা দুর্ভাগ্যজনক হতে পারে; আপনি পরীক্ষার সেটের জন্য উচ্চ নম্বর পেতে পারেন কারণ সেই নমুনাটি সহজ। ক্রস-ভ্যালিডেশন (সংক্ষেপে সিভি) এর সমাধান করে। সবচেয়ে সাধারণ ফর্ম হল k-fold CV: ডেটা কে ভাগে ভাগ করা হয় (যেমন 5); প্রতিটি রাউন্ডে, একটি অংশ পরীক্ষা এবং বাকি অংশ প্রশিক্ষণ; এই রোল 5 বার এবং 5 স্কোর গড় হয়. সুতরাং আপনি দেখতে পাবেন যে পারফরম্যান্স একাধিক বিভাজনের গড় উপর ভিত্তি করে, একটি ভাগ্যবান বিভক্ত নয়। স্কোরের বন্টনও তথ্যপূর্ণ: খুব অস্থির স্কোর (এক তলায় 85%, অন্য তলায় 62%) নির্দেশ করে যে মডেলটি অস্থির।
টাইম সিরিজে সাধারণ কে-ফোল্ড ব্যবহার করা হয় না (ভবিষ্যত ফাঁস করে); পরিবর্তে, আপনি "ফরোয়ার্ড চেইনিং" (টাইম সিরিজ স্প্লিট): সর্বদা অতীতের সাথে প্রশিক্ষণ এবং ভবিষ্যতের পরীক্ষা করুন।
মেট্রিক
সমস্যার ধরন
এটা কখন কোন ব্যাপার?
নির্ভুলতা
শ্রেণীবিভাগ
যদি ক্লাস ভারসাম্যপূর্ণ হয়
যথার্থতা
শ্রেণীবিভাগ
মিথ্যা অ্যালার্ম ব্যয়বহুল
সংবেদনশীলতা (প্রত্যাহার)
শ্রেণীবিভাগ
যদি এটা মিস ব্যয়বহুল
F1
শ্রেণীবিভাগ
ভারসাম্য প্রয়োজন হলে
এমএই
রিগ্রেশন
ব্যাখ্যাযোগ্য ত্রুটি
RMSE
রিগ্রেশন
যদি বড় ভুলগুলো সমালোচনামূলক হয়
R²
রিগ্রেশন
ব্যাখ্যামূলক ক্ষমতা
তিনটি মিনি কেস
কেস 1 - উচ্চ নির্ভুলতার বিভ্রম। একটি জালিয়াতি মডেল 99.2% নির্ভুলতা দেখিয়েছে এবং দল উদযাপন করেছে। বিভ্রান্তি ম্যাট্রিক্সের দিকে তাকালে, ডেটাতে আসল: জাল হার ছিল 0.8%; মডেল প্রায় কোন জাল ধরা, শুধু "সব পরিষ্কার" বলে. প্রত্যাহার ছিল 6%। পাঠ: মেট্রিক্স দেখুন, সঠিকতা নয়।
কেস 2 — সুপ্ত ওভারলার্নিং। একটি দল ট্রেনিং সেটে XGBoost কে 97% ডেলিভার করেছে এবং বাড়িয়েছে। পরীক্ষার সেট ছিল 69%, কিন্তু কেউ দেখেনি। মডেলটি উৎপাদনে ভেঙে পড়ে। যদি ক্রস-ভ্যালিডেশন করা হতো, তাহলে ভাঁজের (ওভারলের্নিং) মধ্যে বড় পার্থক্য প্রথম থেকেই দৃশ্যমান হতো। পাঠ: সিভি এবং পরীক্ষার স্কোর বিশ্বাস করুন, শিক্ষার স্কোর নয়।
কেস 3 - ভাগ্যবান বিভক্ত। একজন বিশ্লেষক একক বিভাজনে 88% পেয়ে আনন্দিত। যখন তার সহকর্মী 5-গুণ সিভি করেছিল, তখন স্কোরগুলি ছিল 88%, 71%, 83%, 64%, 79% — গড় হল 77%, কিন্তু এটি খুব অস্থির। মডেল অস্থির ছিল; একক বগি বিভ্রান্তিকর ছিল. পাঠ: সিভি গড় এবং বিতরণ দেখুন, পৃথক বিন নয়।
চারটি অনুলিপিযোগ্য টেমপ্লেট
1) সম্পূর্ণ শ্রেণীবিভাগ রিপোর্ট:
আমি মডেল এবং পরীক্ষা সেট প্রশিক্ষিত আছে. তৈরি করুন: বিভ্রান্তি ম্যাট্রিক্স, নির্ভুলতা, প্রত্যাহার, F1 (প্রতিটি শ্রেণীর জন্য) এবং সমর্থন গণনা। আমি অনুমান করছি, কিন্তু এটা আমার উপর নির্ভর করে: আমি আপনাকে বলব কোন মেট্রিক গুরুত্বপূর্ণ। মনে রাখবেন যে ভারসাম্যহীন ডেটার সাথে সঠিকতা বিভ্রান্তিকর হতে পারে।
2) ওভারলার্নিং নিয়ন্ত্রণ:
TRAINING এবং TEST উভয় সেটেই আমার মডেলের স্কোর পাশাপাশি প্রিন্ট করুন। তাদের মধ্যে পার্থক্য গণনা করুন এবং সতর্ক করুন কারণ একটি বড় পার্থক্য অত্যধিক শিক্ষার লক্ষণ। পার্থক্য বড় হলে, নিয়মিতকরণ বা সরলীকরণের পরামর্শ দিন।
3) ক্রস বৈধতা:
5-গুণ ক্রস-বৈধকরণ সঞ্চালন করুন (স্তরিত, শ্রেণীবিভাগের জন্য)। প্রতিটি ভাঁজের স্কোর, গড় এবং আদর্শ বিচ্যুতি প্রিন্ট করুন। যদি স্কোরগুলি খুব অস্থির হয় (উচ্চ std), নির্দেশ করুন যে মডেলটি অস্থির। পাইপলাইন ব্যবহার করুন যাতে প্রতিটি স্তরের প্রশিক্ষণ অংশ থেকে রূপান্তরগুলি শেখা যায়।
4) বেসলাইন তুলনা:
একটি DummyClassifier বেসলাইনের সাথে আমার মডেলের মেট্রিক পাশাপাশি রাখুন। মডেল উল্লেখযোগ্যভাবে বেসলাইন বীট? যদি এটি পাস না হয়, তবে এটি পরিষ্কার করুন যে মডেলটি কোন বাস্তব মান যোগ করে না।
দুর্বল প্রম্পট / শক্তিশালী প্রম্পট
দুর্বল প্রম্পট:
আমার মডেল ভাল?
"ভাল" অনির্ধারিত; কোন মেট্রিক, কোন থ্রেশহোল্ড, কোন বেসলাইন তা স্পষ্ট নয়। AI একটি একক নির্ভুলতা নম্বর দিতে পারে এবং বিভ্রান্ত করতে পারে।
শক্তিশালী প্রম্পট:
আপনার ভূমিকা: মূল্যায়ন সহকারী। শ্রেণীবিভাগ, ভারসাম্যহীন তথ্য (12% ইতিবাচক)। অগ্রাধিকার: প্রত্যাহার (ইতিবাচক অনুপস্থিত না)। টাস্ক: (1) কনফিউশন ম্যাট্রিক্স, (2) নির্ভুলতা/রিকল/F1, (3) 5-গুণ স্তরিত সিভি গড় এবং std, (4) ডামি ক্লাসিফায়ার বেসলাইন তুলনা। রিকল এবং বেসলাইন পার্থক্যের উপর ফোকাস করুন, সঠিকতা নয়। মন্তব্য, কিন্তু আমি চূড়ান্ত সিদ্ধান্ত.
এখানে, মেট্রিক অগ্রাধিকার, সিভি এবং বেসলাইন শর্ত পরিষ্কার।
সাধারণ ভুল
- ভারসাম্যহীন ডেটাতে নির্ভুলতা বিশ্বাস করা। 99% নির্ভুলতা সংখ্যালঘু শ্রেণীকে মোটেও ক্যাপচার করতে পারে না; বিভ্রান্তি ম্যাট্রিক্স তাকান.
- শুধু আপনার শিক্ষার স্কোর দেখছেন. উচ্চ শিক্ষা, কম পরীক্ষার স্কোর ওভারলার্নিং; সর্বদা দুটি স্কোর তুলনা করুন।
- একটি একক বগির উপর নির্ভরশীল। ভাগ্যবান বিভাজন বিভ্রান্তিকর; ক্রস-ভ্যালিডেশন সহ গড় এবং বন্টন দেখুন।
- বেসলাইনের সাথে তুলনা করা হচ্ছে না। মডেলটি একটি বোকা ভবিষ্যদ্বাণীকে মারছে কিনা তা না জেনে আপনি "ভাল" বলতে পারবেন না।
- টাইম সিরিজে সাধারণ কে-ভাঁজ ব্যবহার করা। এটা ভবিষ্যত লিক; সময় সিরিজ বিভক্ত প্রয়োজন.
টিপ: প্রতিটি মডেলের পাশে তিনটি সংখ্যা লিখুন: প্রশিক্ষণ স্কোর, ক্রস-ভ্যালিডেশন গড় এবং বেসলাইন স্কোর। এই ত্রয়ী এক নজরে ওভারলার্নিং (প্রশিক্ষণ >> সিভি) এবং কম মূল্যায়ন (সিভি ≈ বেসলাইন) প্রকাশ করে।
সংক্ষেপে
একটি মডেল তৈরি করা সহজ, কিন্তু সৎভাবে মূল্যায়ন করা কঠিন। শ্রেণীবিভাগে, বিভ্রান্তি ম্যাট্রিক্স, নির্ভুলতা এবং প্রত্যাহার নির্ভুলতার চেয়ে অনেক বেশি তথ্যপূর্ণ; কাজের খরচ কোনটি গুরুত্বপূর্ণ তা নির্ধারণ করে। MAE, RMSE এবং R² রিগ্রেশনে ব্যবহৃত হয়। সবচেয়ে ছলনাময় ফাঁদ হল ওভারলার্নিং: সর্বদা প্রশিক্ষণ এবং পরীক্ষার স্কোর তুলনা করুন। ক্রস-ভ্যালিডেশনের গড় এবং বন্টনের উপর নির্ভর করুন, একক বিভাজন নয়; একটি বেসলাইনে সবকিছু তুলনা করুন। AI এই সমস্তগুলি গণনা করে, তবে কোন মেট্রিক ব্যবহার করবেন তা সিদ্ধান্ত নেওয়া মানুষের উপর নির্ভর করে।
আবেদন টাস্ক
একটি শ্রেণীবিভাগ মডেলের জন্য বিভ্রান্তি ম্যাট্রিক্স, নির্ভুলতা, প্রত্যাহার এবং F1 নিষ্কাশন করুন; তারপর 5-গুণ ক্রস-ভ্যালিডেশন করুন এবং ভাঁজ জুড়ে স্কোর বিতরণ দেখুন। সবশেষে, প্রশিক্ষণের স্কোর, সিভি গড়, এবং একটি বেসলাইন স্কোর পাশাপাশি লিখুন। একটি বাক্যে মন্তব্য করুন যে আপনার মডেলটি ওভারলের্নিং এবং বেসলাইন পাস করছে কিনা।
চেকলিস্ট
- [ ] আমি কি সঠিকতার পরিবর্তে কাজের প্রকৃত মেট্রিক (নির্ভুলতা/রিকল/F1 ইত্যাদি) দেখেছি?
- আমি কি বিভ্রান্তি ম্যাট্রিক্স পরীক্ষা করেছি?
- [ ] আমি কি প্রশিক্ষণ এবং পরীক্ষার স্কোর তুলনা করেছি এবং অতিরিক্ত শিক্ষার জন্য পরীক্ষা করেছি?
- [ ] আমি কি ক্রস-ভ্যালিডেশন সহ গড় এবং বন্টন দেখেছি?
- [ ] আমি কি মডেলটিকে একটি বেসলাইনের সাথে তুলনা করেছি?