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