মেশিন লার্নিং অ্যাপ্লাই করার আগে বেশ কিছু জিনিস সম্পর্কে আগে জানতে হয়। আমরা এই চ্যাপ্টারে দেখব, মেশিন লার্নিং অ্যালগরিদম চয়েস থেকে শুরু করে কীভাবে প্রেডিক্টিভ মডেল বিল্ড করবেন সেটা একটা সাধারণ রেসিপির মাধ্যমে প্রকাশ করা যায়।
scikit-learn এর তিনটি অংশ:
model
মডেল
scikit-learn লাইব্রেরি ব্যবহার করার সময় সবচেয়ে সাধারণ কাজটি হল যে ক্লাসিফায়ার ব্যবহার করবেন তার একটা অবজেক্ট (মডেল) তৈরি করা। যেমন, আগের বাড়ির আকার ও দরদাম সম্পর্কিত সমস্যার ক্ষেত্রে,
from sklearn import LinearRegression
#Creating the regression model
linear_regression_model = LinearRegression()
আমাদের কাজ হবে এই লিনিয়ার রিগ্রেশন মডেলকে ডেটা দিয়ে ট্রেইন করা।
এই predicted_price ভ্যারিয়েবলে আমি যে সাইজের বাড়ির দাম জানতে চাচ্ছি সেটা অ্যাসাইন হবে।
মেশিন লার্নিং ওয়ার্কফ্লো বলতে কী বোঝায়?
কেতাবি সংজ্ঞানুসারে,
An orchestrated and repeatable pattern which systematically transforms and processes information to create prediction solutions.
An orchestrated and repeatable pattern:
এর মানে, একই ওয়ার্কফ্লো দিয়ে আমরা সমস্যা ডিফাইন করব, এবং সেই ওয়ার্কফ্লো দিয়েই আমরা সল্যুশন বিল্ড করব।
Transforms and processes information:
ডেটা দিয়ে মডেল তৈরি করার আগে সেটাকে ট্রেনিংয়ের জন্য ব্যবহারযোগ্য করে নিতে হবে।
ধরা যাক আমরা একটা প্রেডিক্টিভ মডেল তৈরি করতে চাচ্ছি যেটা হ্যাঁ বা না তে উত্তর দেয়। ইনপুট ডেটা যদি নিউমেরিক্যাল হয় তাহলে আউটপুটও নিউমেরিক্যাল হলে সুবিধা। এই কারণে, ট্রেনিং ডেটার ক্ষেত্রে যত হ্যাঁ/না ওয়ালা লেবেল আছে ওগুলো আমরা রিপ্লেস করে 1 ও 0 বসিয়ে দিতে পারি। এটাকে ইনফর্মেশন প্রিপ্রসেসিং বলে।
Create prediction solutions:
যেকোন মেশিন লার্নিংয়ের সর্বশেষ লক্ষ থাকে প্রেডিক্ট করা। তবে প্রেডিকশন যেন গ্রাহকের চাহিদা মেটায় সেক্ষেত্রেও নজর রাখতে হবে।
যেমন, আমার তৈরি একটা মডেলের নতুন ডেটা ট্রেনিংয়ে লাগে ২ দিন সময়, প্রেডিক্ট করতে লাগে আরও ১ দিন সময়। এখন ঔ ১ দিনে আরও নতুন ডেটা যদি আসে, সেগুলো ট্রেইন করতে আমার আরও সময় প্রয়োজন। ততক্ষণে ডেটা প্রেডিক্ট করার টাইম লিমিট আরও বেড়ে যাবে। এই মডেল কী কোন সুস্থ স্বাভাবিক মানুষ গ্রহণ করবে? অবশ্যই না, তাই যত কম ট্রেনিং সময়ে একটা মডেল যত কাছাকাছি উত্তর প্রেডিক্ট করতে সক্ষম হয় সেই অ্যালগরিদম ও মেশিন লার্নিং সিস্টেম তত ভাল।
মেশিন লার্নিং ওয়ার্কফ্লো:
সঠিক প্রশ্ন জিজ্ঞাসা করা
askingrightques
আমি আসলে কী করতে চাই, এটা দিয়ে শুরু হয় কাজ। বাড়ির আকার ও দামের সমস্যার ক্ষেত্রে বোঝা যায় আমি চাচ্ছি বাড়ির আকার কে ইনপুট দিতে এবং আউটপুটে চাচ্ছি সেটার দাম।
জটিল কাজ সহজ হতে পারে যদি সঠিক প্রশ্ন সেট করার পর আমরা তার উত্তর খুঁজি।
ডেটা গুছানো
datapreparation
এবার আমার সমস্যা সমাধানের জন্য বা মডেল ট্রেইন করার জন্য অবশ্যই ডেটা চিনিয়ে দিতে হবে। একটা মেশিন তখনই একটা ভাল কাজ ও খারাপ কাজের মধ্যে পার্থক্য বের করতে পারবে যদি তাকে ভাল ও খারাপ কাজ দেখিয়ে ট্রেইন করা হয় তাহলেই পরে সে নতুন কোন ঘটনা দেখে তার ট্রেনিং ডেটা থেকে মিলিয়ে নিতে পারবে সেটা ভাল না খারাপ কাজ।
অ্যালগরিদম সিলেক্ট করা
selectalgo
সবচেয়ে কঠিনতম কাজই হল অ্যালগরিদম সিলেক্ট করা। যেসব সমস্যায় সাধারণ লিনিয়ার রিগ্রেশন ব্যবহার করেই কাজ করা যায় সেসব ক্ষেত্রে আর্টিফিশিয়াল নিউরাল নেট ব্যবহার করার কোন মানে হয় না।
যেহেতু একই কাজ বিভিন্ন মডেল দিয়ে করা যায় তাই যে মডেল এরর কম দেখাবে সেটাই সাধারণত সিলেক্ট করা হয়।
অ্যালগরিদম সিলেক্ট করার জন্য অবশ্যই প্রবলেমসেট ও অ্যাভেইল্যাবল ডেটাসেট বুঝতে হবে। যেমন বাড়ি ও দরদামের সমস্যাটি একটি রিগ্রেশন প্রবলেম, আমি যদি এখানে ক্লাস্টারিং (ডেটা ক্লাসিফিকেশন) অ্যালগরিদম অ্যাপ্লাই করি তাহলে অবশ্যই এর প্রেডিকশন খুবই বাজে আসবে।
মডেল ট্রেইনিং
model_training
আমার হাতে থাকা ডেটাসেট দুইভাগে ভাগ করব, একটা হল Training Dataset এবং আরেকটি হল Testing Dataset।
Testing Dataset এর কোন ডেটা-ই Training Dataset এ থাকে না। যদি থাকত তাহলে মেশিন লার্নিংয়ের মূল উদ্দেশ্যই মাটি হয়ে যেত। (মানে তৈরিকৃত মডেল নতুন কিছু শেখার পরিবর্তে ডেটা মুখস্ত করা শিখত, যেমনটা আমরা নিজেরা পরীক্ষা দেওয়ার সময় করে থাকি, তাই না?) এই ট্রেনিং ডেটা মডেলে Feed করে ও লার্নিং অ্যালগরিদম অ্যাপ্লাই করার মাধ্যমে মডেল ট্রেনিং সম্পন্ন করা হয়।
মডেল টেস্টিং
testing_model
Dataset দুইভাগে ভাগ করার কারণ হচ্ছ, ট্রেইনিং ডেটা দেওয়ার মাধ্যমে মডেলকে আগে শিখাতে হবে। তারপর একটা ইনপুট চয়েস করতে হবে (Testing Dataset) ও ইনপুট টি মডেলকে দিলে তার প্রেডিক্টেড আউটপুট কতটা সঠিক বা ভুল সেটা বের করা যাবে।
তারমানে আমার হাতের সব ডেটাই আমি ট্রেনিংয়ে দিচ্ছি না, তারমানে কিছু ডেটা আমার হাতে থেকে যাচ্ছে যেটা দিয়ে আমি ভেরিফাই করতে পারব আদৌ আমার তৈরি করা মডেলটি কিছু শিখতে পারছে কিনা।
ব্যাপারটা অনেকটা এরকম, ধরি আমার তৈরি করা ML মডেলকে আমি ৩ এর ঘরের নামতা শেখাতে চাই। তাহলে আমি এরকম একটি Dataset তৈরি করব,
৩ X ১ = ৩
৩ X ২ = ৬
৩ X ৩ = ৯
৩ X ৪ = ১২
৩ X ৫ = ১৫
৩ X ৬ = ১৮
৩ X ৯ = ২৭
৩ X ১০ = ৩০
এবার আমি যদি এখান থেকে ট্রেনিং ডেটা ও টেস্টিং ডেটা আলাদা করি তাহলে ডেটাসেটগুলো দাঁড়াবে এরকম,
দ্রষ্টব্য: ডেটাসেট থেকে ট্রেনিং ডেটা ও টেস্টিং ডেটা আলাদা করার জন্যও আলাদা অ্যালগরিদম আছে। ডেটাসেট যদি অনেক কম হয় সেসব ক্ষেত্রে ডেটা সিলেকশনের সফিস্টিকেটেড অ্যালগরিদমগুলো খুবই ভাল কাজ করে। আমরা পরে বিস্তারিত দেখব।
ট্রেনিং ডেটা
৩ X ১ = ৩
৩ X ২ = ৬
৩ X ৩ = ৯
৩ X ৪ = ১২
৩ X ৬ = ১৮
৩ X ৯ = ২৭
৩ X ১০ = ৩০
টেস্টিং ডেটা
৩ X ৫ = ১৫
এখানে পরিষ্কার দেখা যাচ্ছে আমি ট্রেনিং ডেটায় 3 X 5 দেই নাই। তার মানে আমি 3 X 5 বাদে বাকি ডেটা দিয়ে মডেল ট্রেইন করব। তারপর 3 ও 5 ইনপুট দিয়ে দেখব মডেলটি আউটপুট ১৫ এর কাছাকাছি দিচ্ছে কিনা। যদি দেয় তার মানে আমার মডেলের অ্যালগরিদম সিলেকশন, ডেটা প্রিপ্রসেসিং ও ট্রেইনিং যথাযথ হয়েছে। আর যদি এটা কাজ না করে সেক্ষেত্রে আমার আবার ডেটা প্রিপ্রসেসিং থেকে শুরু করে নতুন অ্যালগরিদম দিয়ে ট্রাই করতে হবে।
মডেল তৈরি করা পুরোটাই ইটারেটিভ প্রসেস, মানে বারংবার করার মাধ্যমেই পারফেকশন আনতে হয়, একবারেই একটা মডেল পারফেক্ট হবে এমন ধারণা করা ঠিক নয়।
final_workflow
ওয়ার্কফ্লো গাইডলাইন
শেষের স্টেপ না, মডেল বিল্ড করার জন্য সতর্ক থাকতে হবে শুরু থেকেই
মডেল বিল্ড করার জন্য শুরু থেকেই সব চিন্তাভাবনা করে আগাতে হবে, কেননা প্রতিটি স্টেপ ই পূর্ববর্তী স্টেপের উপর নির্ভরশীল। অনেকটা চেইন এর মত, একটা অংশ ভুল করলেই আবার প্রথম থেকে শুরু করতে হবে।
তারমানে আল্টিমেট টার্গেট, হাতে থাকা ডেটাসেট, অ্যালগরিদম সিলেকশন সবকিছুই করতে হবে যত্ন ও চিন্তাভাবনার সাথে।
যেকোন সময় আগের স্টেপে ফিরে যেতে হতে পারে
ধরুন, আপনার কাছে গুণের ডেটাসেট আছে কিন্তু আপনি আউটপুটে চাচ্ছেন দুইটি সংখ্যার যোগের ফলাফল। তারমানে আপনি যা চান তার সাথে ডেটাসেট এর কোন মিল নাই। তাই আমাদের এবার গুণের ডেটাসেট কে রিপ্লেস করতে হবে যোগের ডেটাসেট দিয়ে তারপর আবার মডেলকে ট্রেইন করতে হবে।
ডেটা সাজানো লাগবেই
RAW ডেটা কখনোই আপনার মনমত সাজানো থাকবে না, মডেল ট্রেইনিংয়ের জন্য সেটাকে অবশ্যই প্রিপ্রসেস করতে হবে।
ডেটা প্রিপ্রসেসিং এই মূলত সবচেয়ে বেশি সময় লাগে।
ডেটা যত মজা তত
আসলে আপনি মডেলে যত ডেটা ফিড করতে পারবেন তার প্রেডিকশন অ্যাকুরেসি ততটাই বেটার হবে। এই থিওরি স্বতসিদ্ধ।
প্রবলেম হোক এটা সেটা সল্যুশন হোক ভাল
কখনোই খারাপ সল্যুশনকে পাত্তা দেবেন না। একটা প্রবলেম সল্ভ করার সময় অনেক চেষ্টার পরেও যদি আশানুরূপ পার্ফর্মেন্স না পান, সেক্ষেত্রে অন্যান্য স্টেপগুলো সম্পর্কে প্রশ্ন করুন।
আমি কি সঠিক প্রশ্ন করছি?
সমস্যা সমাধান করার মত প্রয়োজনীয় ডেটা কি আমার আছে?
আমি সিলেক্ট করা অ্যালগরিদম কি সঠিক?
যদি সন্তোষজনক উত্তর না পান তাহলে সমস্যার সমাধান না করাই বেটার। কারণ যে মডেল ৫০% সময় সঠিক উত্তর দেয় আর বাকি ৫০% ভুল উত্তর দেয় সেটা কনফিউশন তৈরি করার জন্যই ভাল, সমস্যা সমাধানের জন্য নয়।
আপাতত এই পর্যন্তই। পরবর্তী পর্বে আমরা মেশিন লার্নিংয়ের ১ম ধাপ দেখব। "কীভাবে সঠিক প্রশ্ন করতে হয়?"
কীভাবে সঠিক প্রশ্ন করতে হয়?
"There are no right answers to wrong questions." - Ursula K. Le Guin
"Ask the right questions if you're going to find the right answers." - Vanessa Redgrave
"In school, we're rewarded for having the answer, not for asking a good question." - Richard Saul Wurman
মেশিন লার্নিং মডেল তৈরির প্রথম স্টেপ
সঠিক প্রশ্ন করবেন কীভাবে?
ওয়ার্কফ্লো রিভিশন
যেহেতু আজকের টপিক 'সঠিক প্রশ্ন জিজ্ঞাসা করা' বা 'সঠিক প্রশ্ন তৈরি করা' সেহেতু গত পর্বের ওয়ার্কফ্লো একবার দেখে নেওয়া যাক।
workflow
সমস্যা
আমরা যদি জেনারেল মেথড অ্যাপ্লাই করতে চাই তাহলে সর্বপ্রথম দরকার একটা সমস্যাকে সেই মেথড গুলো দিয়ে সমাধান করা। আমাদের বাছাইকৃত সমস্যাটি একবার দেখা যাক,
সমস্যার বিবরণ
একজন লোক ডায়াবেটিস এ আক্রান্ত হবে কিনা প্রেডিক্ট করুন
কাজের শুরুতেই কি সঠিক প্রশ্ন পেয়ে গেলাম না?
সমস্যার বিবরণ দেখে মনে হতে পারে, আমরা তো আমাদের কাঙ্ক্ষিত প্রশ্ন পেয়েই গেলাম, নতুন করে প্রশ্ন করার মানে কী? এই সমস্যাটা সল্ভ করলেই তো হচ্ছে?!
উত্তর হল, না। মেশিন লার্নিং সমস্যাকে শুধু এক লাইনের একটা প্রশ্ন দিয়ে ডিফাইন করা ভুল, এই প্রশ্নকে ভেঙ্গে ক্ষুদ্র ক্ষুদ্র ও নির্দিষ্ট কিছু প্রশ্নে ভাগ করতে হবে, তারপর সেগুলো সমাধান করতে হবে।
তাহলে কীরকম হবে প্রশ্ন গুলো?
প্রশ্নগুলো এমন হতে হবে যেগুলোর সমাধান করলে আসলেই আমরা একটা Fully Functional Predictive Model তৈরি করতে পারি।
প্রশ্নের উপরে ভিত্তি করে আমরা প্রেডিক্টিভ মডেল বিল্ড করছি, তাই আমাদের To the point প্রশ্ন দরকার। যার ক্রাইটেরিয়ার উপর ভিত্তি করে আমরা সল্যুশন তৈরি করব।
একটা এক লাইন প্রশ্নের থেকে আরও দরকারী হচ্ছে প্রশ্নের মধ্যে থাকা কিছু স্টেটমেন্ট, যেগুলো আমাদের সল্যুশন বিল্ড এর শুরু ডিফাইন করে, শেষ ডিফাইন করে (যেমন, মডেল এর প্রেডিকশন সাক্সেস রেট কতটা ভাল হলে আমরা মডেল অপ্টিমাইজেশন বাদ দিয়ে প্রেডিক্ট করতে বসে যাব) এবং কীভাবে আমরা আমাদের লক্ষ্যে পৌঁছাব।
তাহলে Solution Statement Goal গুলো দেখা যাক
ডেটা সোর্স পর্যবেক্ষণ (Scope & Dataset)
পার্ফর্মেন্স স্কোর ও পার্ফর্মেন্স টার্গেট
যেখানে ব্যবহার করা হবে (Context)
কীভাবে সল্যুশন তৈরি করা হবে
এই পয়েন্টগুলো একটার পর একটা যুক্ত করলেই আমরা আমাদের কাঙ্ক্ষিত প্রশ্নগুলো পেয়ে যাব।
স্কোপ ও ডেটা সোর্স:
অ্যামেরিকান ডায়াবেটিস ওয়েবসাইট ডেটাসেট পর্যবেক্ষণ করে বেশ কিছু ডায়াবেটিসে আক্রান্ত হবার বেশ কিছু ফ্যাক্টর তুলে ধরেছে যেটা আমাদের ডেটাসেট এর গুরুত্বপূর্ণ ইনপুট ভ্যারিয়েবল চিহ্নিত করতে সাহায্য করবে।
বয়স (Age)
বয়স্কদের ডায়বেটিসে আক্রান্ত হওয়ার সম্ভাবনা বেশি থাকে।
জাতি (Race)
African-American, Asian-American, American-Indian দের ডায়াবেটিস হবার সম্ভাবনা বেশি।
লিঙ্গ (Gender)
ডায়বেটিসে আক্রান্ত হওয়ার জন্য লিঙ্গের কোন প্রভাব নেই।
উপর্যুক্ত Factor গুলো কেন গুরুত্বপূর্ণ?
ইনপুট ভ্যারিয়েবল ফিল্টারিংয়ে: ফ্যাক্টরগুলো থেকে দেখা যায় যে, আমরা 'Race' এর উপর গুরুত্ব দেব বেশি এবং 'Gender' এর ক্ষেত্রে গুরুত্ব না দিলেও হবে। যদি আমরা Gender কে ইনপুট ভ্যারিয়েবল হিসেবে নেই তাহলে প্রেডিকশন অবশ্যই খারাপ আসবে।
ডেটাসেট বাছতে: যেসব ডেটাসেটে Age, Race (আরও থাকতে পারে) আছে, সেসব ডেটাসেট আমাদের বাছাই করতে হবে।
আমরা এই কাজের জন্য University of California Irvine (UCI) এর রিপোজিটরি থেকে Pima Indian Diabetes Study সিলেক্ট করব। কারণ এই ডেটাসেট আমাদের ডিমান্ড করা ক্রাইটেরিয়াগুলো ফিলাপ করে।
পরিবর্তিত স্টেটমেন্ট
স্কোপ ও ডেটাসেট পর্যবেক্ষণের পর আমাদের পরিবর্তিত প্রবলেম স্টেটমেন্ট
Pima Indian Diabetes ডেটাসেট ব্যবহার করে বের করতে হবে কে কে ডায়াবেটিসে আক্রান্ত হবে
পার্ফর্মেন্স স্কোর ও পারফর্মেন্স টার্গেট
সমস্যার সমাধান যতই জটিল হোক, আউটপুট আমরা সহজেই ধারণা করতে পারছি, এই সমস্যার সমাধান হ্যাঁ/না আকারে আসবে। অর্থাৎ Binary Result (True or False)
মডেল বিল্ড করলে তার একটা পার্ফর্মেন্স স্কোর আমরা পাব। মানে আমাদের মডেল কতটা ভাল প্রেডিক্ট করতে পারে। কিন্তু এই পার্ফর্মেন্সের একটা লিমিট আছে। সাধারণত ১০০% প্রেডিকশন রেট হয় না, কিন্তু আমাদের চেষ্টা থাকতে হবে কতটা ভাল করা যায়।
তাই বিল্ড করার সময় আমাদের অ্যাকুরেসির কথা চিন্তা করতে হবে। আমরা চাইলেই যে ঔ অ্যাকুরেসি পাব তার কোন গ্যারান্টি নাই।
50% অ্যাকুরেসির মত খারাপ আর কিছু নাই। তারমানে আমার তৈরি মডেলের পার্ফর্মেন্স স্কোর যদি ৫০% হয়, এর মানে হল, যদি মডেলটি কোন প্রেডিকশন করে তাহলে সেটা হওয়ার সম্ভাবনা ৫০-৫০। তাই অবশ্যই আমাদের ৫০% এর বেশি অ্যাকুরেসির দিকে নজর দিতে হবে।
আমরা যখনই রোগ প্রেডিকশন করব তখন ৫০% চরম খারাপ পার্ফর্মেন্স স্কোর। জেনেটিক ডিফারেন্স এখানে একটা বড় ফ্যাক্টর। দেখা গেছে জমজদের ও সব একই হল জিনগত পার্থক্য থাকেই। এই ভিন্নতার জন্য ডায়বেটিসে আক্রান্ত হবার সম্ভাবনাও একেক জনের একেক রকম।
সুতরাং ৭০% অ্যাকুরেসি মোটামুটি রিজনেবল। এখন এটাকে End Point ধরে আমরা কাজ এগোতে পারি।
তাহলে চলুন আমাদের টার্গেট স্টেটমেন্টে আরও কিছু পরিবর্তন আনি।
পরিবর্তিত স্টেটমেন্ট
Pima Indian Diabetes ডেটাসেট ব্যবহার করে ৭০% বা তার বেশি অ্যাকুরেসির মাধ্যমে বের করতে হবে কে কে ডায়বেটিসে আক্রান্ত হবে
Context বা প্রাসঙ্গিক ফিল্ড
আমাদের আলোচ্য সমস্যাটি মেডিক্যাল বেজড, তাই আমাদের এখানে প্রাসঙ্গিকতা টানতে হবে। এতে করে সল্যুশন আরও ভাল হবে।
প্রত্যেকেই জেনেটিক্যালি একে অপরের থেকে আলাদা, তাই এখানে জানা-অজানা বিভিন্ন ফ্যাক্টর কাজ করে। আপাতদৃষ্টিতে একই ফ্যাক্টর হওয়ার পরেও দুইজন লোকের একজনের ডায়বেটিস হতে পারে এবং আরেকজনের নাও পারে।
এই যে আমরা এখানে হতে পারা নামক সম্ভাবনাময় একটি বাক্য ব্যবহার করছি। তারমানে আমরা একদম ১০০% নিশ্চিত না, আদৌ ডায়বেটিস হবে কি না।
হতে পারা বা likelihood যদি আমরা আমাদের স্টেটমেন্টে অ্যাড করি তাহলে পরিবর্তিত স্টেটমেন্ট হবে,
পরিবর্তিত স্টেটমেন্ট
Pima Indian Diabetes ডেটাসেট ব্যবহার করে 70% বা তারও বেশি অ্যাকুরেসির মাধ্যমে বের করতে হবে কে কে ডায়বেটিসে আক্রান্ত হতে পারে
সল্যুশন তৈরি করা
আমাদের স্টেটমেন্টে এখনো পর্যন্ত মেশিন লার্নিংয়ের প্রসিডিউর আসে নি। তাহলে মেশিন লার্নিং ওয়ার্কফ্লো ব্যবহার করলেই আমরা সল্যুশন তৈরির একটা ভাল ধারণা পেয়ে যাব।
মেশিন লার্নিং ওয়ার্কফ্লো:
Pima Indian Data প্রিপ্রসেসিং
ডেটা ট্রান্সফর্মেশন (যদি লাগে)
আবার পরিবর্তিত স্টেটমেন্ট
পরিবর্তিত স্টেটমেন্ট
মেশিন লার্নিং ওয়ার্কফ্লো ব্যবহার করে Pima Indian Data কে প্রিপ্রসেস ও প্রয়োজনীয় ট্রান্সফর্মেশন করার পর একটা প্রেডিক্টিভ মডেল তৈরি করতে হবে।
এবার এই মডেলকে ৭০% বা তারও বেশি অ্যাকুরেসির সাথে নির্ণয় করতে হবে কে কে ডায়বেটিসে আক্রান্ত হতে পারে।
ফাইনাল স্টেটমেন্ট ও প্রশ্নগুলো
কোন ডেটাসেট ব্যবহার করতে হবে? - Pima Indian dataset
টার্গেট পারফর্মেন্স কত? - ৭০%
কীভাবে সল্যুশন তৈরি করতে হবে? - Machine Learning Workflow ব্যবহার করে Data preprocessing ও transformation এর মাধ্যমে predictive model তৈরি করতে হবে তারপর ডেটাসেট ব্যবহার করে প্রেডিক্ট করতে হবে।
আলোচনা থেকে দেখা গেল, এক লাইনের সামান্য একটি প্রশ্ন আমরা বিভিন্নভাবে রিসার্চ করে বেশ কয়েকটি গুরুত্বপূর্ণ প্রশ্নের উত্তর পেয়ে গেছি, যেটা দিয়ে সহজেই আমরা সমস্যাটির সমাধান করতে পারি। পরবর্তী পর্বগুলোতে এই ওয়ার্কফ্লো ব্যবহার করে আমরা সমস্যাটির সমাধান করব।
0 comments:
Post a Comment