আপনি নিশ্চয়ই "আবর্জনা ভিতরে, আবর্জনা আউট" কথাটি শুনেছেন। মেশিন লার্নিং মডেল প্রশিক্ষণের সময় এই কথাটি প্রকৃতপক্ষে প্রযোজ্য। আমরা যদি অপ্রাসঙ্গিক ডেটা ব্যবহার করে মেশিন লার্নিং মডেলগুলিকে প্রশিক্ষণ দিই, এমনকি সেরা মেশিন লার্নিং অ্যালগরিদমগুলিও খুব বেশি সাহায্য করবে না। বিপরীতভাবে, ভাল-ইঞ্জিনিয়ারযুক্ত অর্থপূর্ণ বৈশিষ্ট্যগুলি ব্যবহার করে একটি সাধারণ মেশিন লার্নিং অ্যালগরিদম দিয়েও উচ্চতর কর্মক্ষমতা অর্জন করতে পারে। সুতরাং, তাহলে, আমরা কীভাবে এই অর্থপূর্ণ বৈশিষ্ট্যগুলি তৈরি করতে পারি যা আমাদের মডেলের কর্মক্ষমতা সর্বাধিক করবে? উত্তর হল ফিচার ইঞ্জিনিয়ারিং। প্রথাগত মেশিন লার্নিং অ্যালগরিদম, যেমন রিগ্রেশন, ডিসিশন ট্রি, সাপোর্ট ভেক্টর মেশিন এবং অন্যান্য যেগুলির জন্য সংখ্যাসূচক ইনপুট প্রয়োজন হয়, সেগুলোর সাথে কাজ করার সময় বৈশিষ্ট্য ইঞ্জিনিয়ারিং-এ কাজ করা বিশেষভাবে গুরুত্বপূর্ণ। যাইহোক, এই সংখ্যাসূচক ইনপুটগুলি তৈরি করা শুধুমাত্র ডেটা দক্ষতার জন্য নয়। এটি এমন একটি প্রক্রিয়া যা সৃজনশীলতা এবং ডোমেন জ্ঞানের দাবি করে এবং বিজ্ঞানের মতো শিল্পও রয়েছে।
বিস্তৃতভাবে বলতে গেলে, আমরা বৈশিষ্ট্য প্রকৌশলকে দুটি উপাদানে ভাগ করতে পারি: 1) নতুন বৈশিষ্ট্য তৈরি করা এবং 2) এই বৈশিষ্ট্যগুলিকে প্রক্রিয়াকরণ করা যাতে সেগুলি বিবেচনাধীন মেশিন অ্যালগরিদমের সাথে সর্বোত্তমভাবে কাজ করে। এই নিবন্ধে, আমরা ক্রস-বিভাগীয়, কাঠামোগত, নন-এনএলপি ডেটাসেটের জন্য বৈশিষ্ট্য প্রকৌশলের এই দুটি উপাদান নিয়ে আলোচনা করব।
কাঁচা তথ্য সংগ্রহ ক্লান্তিকর হতে পারে, এবং এই টাস্কের শেষে, আমরা অতিরিক্ত বৈশিষ্ট্য তৈরিতে আরও সময় এবং শক্তি বিনিয়োগ করতে খুব ক্লান্ত হতে পারি। কিন্তু এখানেই আমাদের সরাসরি মডেল প্রশিক্ষণে ডুব দেওয়ার প্রলোভন প্রতিরোধ করতে হবে। আমি আপনাকে প্রতিশ্রুতি দিচ্ছি যে এটি মূল্যবান হবে! এই মোড়কে, আমাদের বিরতি দেওয়া উচিত এবং নিজেদেরকে জিজ্ঞাসা করা উচিত, "আমি যদি আমার ডোমেন জ্ঞানের উপর ভিত্তি করে ম্যানুয়ালি ভবিষ্যদ্বাণী করি, তাহলে কোন বৈশিষ্ট্যগুলি আমাকে একটি ভাল কাজ করতে সাহায্য করত?" এই প্রশ্ন জিজ্ঞাসা করা নতুন অর্থপূর্ণ বৈশিষ্ট্যগুলি তৈরি করার সম্ভাবনা উন্মুক্ত করতে পারে যা আমাদের মডেল অন্যথায় মিস করতে পারে। একবার আমরা বিবেচনা করেছি যে কোন অতিরিক্ত বৈশিষ্ট্যগুলি থেকে আমরা উপকৃত হতে পারি, আমরা কাঁচা ডেটা থেকে নতুন বৈশিষ্ট্যগুলি তৈরি করতে নীচের কৌশলগুলি ব্যবহার করতে পারি৷
নাম অনুসারে, এই কৌশলটি আমাদেরকে আরও সামগ্রিক দৃশ্য তৈরি করতে একাধিক ডেটা পয়েন্ট একত্রিত করতে সহায়তা করে। আমরা সাধারণত গণনা, যোগফল, গড়, সর্বনিম্ন, সর্বোচ্চ, শতকরা, আদর্শ বিচ্যুতি এবং প্রকরণের সহগের মতো স্ট্যান্ডার্ড ফাংশন ব্যবহার করে ক্রমাগত সাংখ্যিক ডেটাতে সমষ্টি প্রয়োগ করি। প্রতিটি ফাংশন তথ্যের বিভিন্ন উপাদান ক্যাপচার করতে পারে এবং ব্যবহার করার জন্য সর্বোত্তম ফাংশন নির্দিষ্ট ব্যবহারের ক্ষেত্রে নির্ভর করে। প্রায়শই, আমরা একটি নির্দিষ্ট সময় বা ইভেন্ট উইন্ডোতে সমষ্টি প্রয়োগ করতে পারি যা সেই সমস্যার প্রসঙ্গে অর্থপূর্ণ।
আসুন একটি উদাহরণ নেওয়া যাক যেখানে আমরা একটি প্রদত্ত ক্রেডিট কার্ড লেনদেন জালিয়াতি কিনা তা অনুমান করতে চাই। এই ব্যবহারের ক্ষেত্রে, আমরা নিঃসন্দেহে লেনদেন-নির্দিষ্ট বৈশিষ্ট্যগুলি ব্যবহার করতে পারি, তবে সেই বৈশিষ্ট্যগুলির পাশাপাশি, আমরা সমষ্টিগত গ্রাহক-স্তরের বৈশিষ্ট্যগুলি তৈরি করেও উপকৃত হতে পারি যেমন:
গত পাঁচ বছরে গ্রাহক কতবার প্রতারণার শিকার হয়েছেন: যে গ্রাহক আগে একাধিকবার প্রতারণার শিকার হয়েছেন তার আবার প্রতারণার শিকার হওয়ার সম্ভাবনা বেশি। অতএব, এই সমষ্টিগত গ্রাহক-স্তরের দৃশ্য ব্যবহার করে সঠিক ভবিষ্যদ্বাণী সংকেত প্রদান করতে পারে।
শেষ পাঁচটি লেনদেনের পরিমাণের মাঝামাঝি: প্রায়ই, যখন একটি ক্রেডিট কার্ড আপস করা হয়, তখন প্রতারকরা কার্ড পরীক্ষা করার জন্য একাধিক কম-মূল্যের লেনদেনের চেষ্টা করতে পারে। এখন, একটি কম-মূল্যের লেনদেন খুবই সাধারণ এবং এটি প্রতারণার চিহ্ন নাও হতে পারে, কিন্তু আমরা যদি সংক্ষিপ্ত ধারাবাহিকভাবে এই ধরনের অনেক লেনদেন দেখি, তাহলে এটি একটি আপস করা ক্রেডিট কার্ড নির্দেশ করতে পারে।
অনেক ধরনের সমস্যায়, একটি সেট প্যাটার্নে পরিবর্তন ভবিষ্যদ্বাণী বা অসঙ্গতি সনাক্তকরণের জন্য একটি মূল্যবান সংকেত। পার্থক্য এবং অনুপাত হল সাংখ্যিক বৈশিষ্ট্যের পরিবর্তনের প্রতিনিধিত্ব করার জন্য কার্যকর কৌশল। একত্রিতকরণের মতো, আমরা সেই সমস্যার প্রসঙ্গে একটি অর্থপূর্ণ সময় উইন্ডোতে এই কৌশলগুলি প্রয়োগ করতে পারি।
উদাহরণ:
গত 1 ঘন্টার মধ্যে নতুন বণিক লেনদেনের শতাংশ এবং গত 30 দিনে নতুন বণিক লেনদেনের শতাংশের মধ্যে পার্থক্য: দ্রুত উত্তরাধিকারসূত্রে নতুন বণিক লেনদেনের একটি উচ্চ শতাংশ নিজেই জালিয়াতির ঝুঁকি নির্দেশ করতে পারে, কিন্তু যখন আমরা দেখি যে এই আচরণ গ্রাহকের ঐতিহাসিক আচরণের তুলনায় পরিবর্তিত হয়েছে, এটি আরও স্পষ্ট সংকেত হয়ে উঠেছে।
বর্তমান-দিনের লেনদেন গণনার অনুপাত গত 30-দিনের মধ্যবর্তী দৈনিক লেনদেন গণনার সাথে: যখন একটি ক্রেডিট কার্ড আপস করা হয়, তখন সম্ভবত অল্প সময়ের মধ্যে অনেক লেনদেন হতে পারে, যা অতীতের ক্রেডিট কার্ড ব্যবহারের সাথে সামঞ্জস্যপূর্ণ নাও হতে পারে। গত 30 দিনের মধ্যকার দৈনিক লেনদেন গণনার বর্তমান দিনের লেনদেন গণনার একটি উল্লেখযোগ্যভাবে উচ্চ অনুপাত প্রতারণামূলক ব্যবহারের ধরণগুলি নির্দেশ করতে পারে।
আমরা দুটি টাইমস্ট্যাম্প বা তারিখের মধ্যে পার্থক্য গ্রহণ করে তারিখ বা টাইমস্ট্যাম্প বৈশিষ্ট্যগুলিকে সংখ্যাসূচক বৈশিষ্ট্যগুলিতে রূপান্তর করতে বয়স গণনার কৌশল ব্যবহার করতে পারি। আমরা এই কৌশলটি ব্যবহার করতে পারি নির্দিষ্ট অ-সাংখ্যিক বৈশিষ্ট্যগুলিকে অর্থপূর্ণ সংখ্যাসূচক বৈশিষ্ট্যগুলিতে রূপান্তর করতে যদি বৈশিষ্ট্যের মানগুলির সাথে যুক্ত মেয়াদ ভবিষ্যদ্বাণীর জন্য একটি মূল্যবান সংকেত হতে পারে।
উদাহরণ:
নির্দেশক বা বুলিয়ান বৈশিষ্ট্যের বাইনারি মান আছে {1, 0} বা {True, False}। সূচক বৈশিষ্ট্যগুলি খুবই সাধারণ এবং বিভিন্ন ধরণের বাইনারি তথ্য উপস্থাপন করতে ব্যবহৃত হয়। কিছু ক্ষেত্রে, আমাদের ইতিমধ্যেই সংখ্যাসূচক আকারে এই ধরনের বাইনারি বৈশিষ্ট্য থাকতে পারে, অন্য ক্ষেত্রে, তাদের অ-সংখ্যাসূচক মান থাকতে পারে। মডেল প্রশিক্ষণের জন্য অ-সাংখ্যিক বাইনারি বৈশিষ্ট্যগুলি ব্যবহার করার জন্য, আমাদের যা করতে হবে তা হল সাংখ্যিক মানগুলিতে তাদের মানচিত্র।
এই সাধারণ ঘটনাগুলি এবং সূচক বৈশিষ্ট্যগুলির ব্যবহারগুলিকে অতিক্রম করে, আমরা অ-সংখ্যাসূচক ডেটা পয়েন্টগুলির মধ্যে একটি তুলনা উপস্থাপন করার জন্য একটি সরঞ্জাম হিসাবে সূচক এনকোডিং ব্যবহার করতে পারি। এই বৈশিষ্ট্যটি এটিকে বিশেষভাবে শক্তিশালী করে তোলে কারণ এটি অ-সংখ্যাসূচক বৈশিষ্ট্যগুলির পরিবর্তনগুলি পরিমাপ করার জন্য আমাদের জন্য একটি উপায় তৈরি করে৷
উদাহরণ:
সাম্প্রতিক লগইন ইভেন্টের সময় ব্যর্থ যাচাইকরণ: একটি সাম্প্রতিক ব্যর্থ লগইন ইভেন্ট প্রতারণামূলক লেনদেনের উচ্চ ঝুঁকির সাথে যুক্ত হতে পারে। এই ক্ষেত্রে, এই বৈশিষ্ট্যের জন্য কাঁচা ডেটাতে হ্যাঁ বা না মান থাকতে পারে; আমাদের এখানে যা করতে হবে তা হল এই মানগুলিকে 1 বা 0 তে মানচিত্র।
শেষ লেনদেন থেকে দেশের অবস্থান পরিবর্তন: দেশের অবস্থান পরিবর্তন একটি আপস করা ক্রেডিট কার্ড নির্দেশ করতে পারে। এখানে, অ-সংখ্যাসূচক বৈশিষ্ট্য 'দেশের অবস্থান'-এ পরিবর্তনের প্রতিনিধিত্বকারী একটি সূচক বৈশিষ্ট্য তৈরি করা এই দেশের পরিবর্তনের তথ্য ক্যাপচার করবে।
এই কৌশলটি প্রয়োগ করা যেতে পারে যদি আমাদের বৈশিষ্ট্য ডেটা শ্রেণীবদ্ধ আকারে হয়, হয় সংখ্যাসূচক বা অ-সংখ্যাসূচক। সাংখ্যিক-শ্রেণীগত ফর্মটি অ-নিরবিচ্ছিন্ন বা অ-পরিমাপ ডেটা, যেমন ভৌগলিক অঞ্চল কোড, স্টোর আইডি এবং এই জাতীয় অন্যান্য ধরণের ডেটা ধারণকারী সংখ্যাসূচক ডেটাকে বোঝায়। একটি হট এনকোডিং কৌশল এই ধরনের বৈশিষ্ট্যগুলিকে নির্দেশক বৈশিষ্ট্যগুলির একটি সেটে রূপান্তর করতে পারে যা আমরা প্রশিক্ষণ মেশিন লার্নিং মডেলগুলিতে ব্যবহার করতে পারি। একটি শ্রেণীবদ্ধ বৈশিষ্ট্যে একটি হট এনকোডিং প্রয়োগ করা সেই শ্রেণীগত পরিবর্তনশীলের প্রতিটি বিভাগের জন্য একটি নতুন বাইনারি বৈশিষ্ট্য তৈরি করবে। যেহেতু বিভাগের সংখ্যা বৃদ্ধির সাথে সাথে নতুন বৈশিষ্ট্যের সংখ্যা বৃদ্ধি পায়, তাই এই কৌশলটি কম সংখ্যক বিভাগের বৈশিষ্ট্যগুলির জন্য উপযুক্ত, বিশেষ করে যদি আমাদের একটি ছোট ডেটাসেট থাকে। অঙ্গুষ্ঠের আদর্শ নিয়মগুলির মধ্যে একটি এই কৌশলটি প্রয়োগ করার পরামর্শ দেয় যদি আমাদের প্রতি বিভাগে কমপক্ষে দশটি রেকর্ড থাকে।
উদাহরণ:
এই কৌশলটি একই ধরণের বৈশিষ্ট্যগুলিতে প্রয়োগ করা হয় যা আমরা এক-হট এনকোডিং প্রয়োগ করব তবে এক-হট এনকোডিংয়ের কিছু সুবিধা এবং অসুবিধা রয়েছে। যখন বিভাগগুলির সংখ্যা বেশি হয় (উচ্চ কার্ডিনালিটি), এক-হট এনকোডিং ব্যবহার করা অবাঞ্ছিতভাবে বৈশিষ্ট্যের সংখ্যা বৃদ্ধি করবে, যা মডেল ওভারফিটিং হতে পারে। টার্গেট এনকোডিং এই ধরনের ক্ষেত্রে একটি কার্যকর কৌশল হতে পারে, যদি আমরা একটি তত্ত্বাবধানে শেখার সমস্যা নিয়ে কাজ করি। এটি এমন একটি কৌশল যা প্রতিটি বিভাগের মানকে সেই বিভাগের লক্ষ্যের প্রত্যাশিত মানের সাথে মানচিত্র করে। যদি একটি অবিচ্ছিন্ন লক্ষ্যের সাথে একটি রিগ্রেশন সমস্যা নিয়ে কাজ করা হয়, এই গণনাটি সেই বিভাগের জন্য গড় লক্ষ্য মানের সাথে বিভাগটিকে ম্যাপ করে। বাইনারি টার্গেটের সাথে শ্রেণীবিভাগের সমস্যার ক্ষেত্রে, টার্গেট এনকোডিং বিভাগটিকে সেই বিভাগের ইতিবাচক ইভেন্ট সম্ভাবনার সাথে ম্যাপ করবে। ওয়ান-হট এনকোডিংয়ের বিপরীতে, এই কৌশলটির বৈশিষ্ট্যের সংখ্যা না বাড়ানোর সুবিধা রয়েছে। এই কৌশলটির একটি নেতিবাচক দিক হল এটি শুধুমাত্র তত্ত্বাবধানে শেখার সমস্যাগুলিতে প্রয়োগ করা যেতে পারে। এই কৌশলটি প্রয়োগ করা মডেলটিকে ওভারফিটিংয়ের জন্যও সংবেদনশীল করে তুলতে পারে, বিশেষ করে যদি কিছু বিভাগে পর্যবেক্ষণের সংখ্যা কম হয়।
উদাহরণ:
একবার আমরা কাঁচা ডেটা থেকে নতুন বৈশিষ্ট্যগুলি তৈরি করার পরে, পরবর্তী পদক্ষেপটি হল সর্বোত্তম মডেলের কার্যকারিতার জন্য সেগুলি প্রক্রিয়া করা৷ আমরা পরবর্তী বিভাগে আলোচনা করা বৈশিষ্ট্য প্রক্রিয়াকরণ যদিও এটি সম্পন্ন.
ফিচার প্রসেসিং বলতে বোঝায় ডেটা প্রসেসিং ধাপগুলির একটি সিরিজ যা নিশ্চিত করে যে মেশিন লার্নিং মডেলগুলি উদ্দেশ্য অনুযায়ী ডেটার সাথে মানানসই। যদিও নির্দিষ্ট মেশিন লার্নিং অ্যালগরিদম ব্যবহার করার সময় এই প্রক্রিয়াকরণের কিছু পদক্ষেপের প্রয়োজন হয়, অন্যরা নিশ্চিত করে যে আমরা বিবেচনাধীন বৈশিষ্ট্য এবং মেশিন লার্নিং অ্যালগরিদমের মধ্যে একটি ভাল কার্যকরী রসায়ন স্ট্রাইক করি। এই বিভাগে, আসুন কিছু সাধারণ বৈশিষ্ট্য প্রক্রিয়াকরণ পদক্ষেপ নিয়ে আলোচনা করি এবং কেন আমাদের সেগুলি প্রয়োজন।
বেশ কিছু মেশিন লার্নিং অ্যালগরিদম, বিশেষ করে প্যারামেট্রিক যেমন রিগ্রেশন মডেল, আউটলার দ্বারা মারাত্মকভাবে প্রভাবিত হয়। এই মেশিন লার্নিং অ্যালগরিদমগুলি বহিরাগতদের মিটমাট করার চেষ্টা করে, মডেল প্যারামিটারগুলিকে মারাত্মকভাবে প্রভাবিত করে এবং সামগ্রিক কর্মক্ষমতার সাথে আপস করে। বহিরাগতদের চিকিত্সা করার জন্য, আমাদের প্রথমে তাদের সনাক্ত করতে হবে। আমরা থাম্বের কিছু নিয়ম প্রয়োগ করে একটি নির্দিষ্ট বৈশিষ্ট্যের জন্য বহিরাগতদের সনাক্ত করতে পারি, যেমন গড় এবং তিনটি স্ট্যান্ডার্ড বিচ্যুতির চেয়ে বেশি একটি পরম মান থাকা বা নিকটতম হুইকার মানের বাইরে একটি মান (নিকটতম চতুর্থিক মান প্লাস ইন্টারকোয়ার্টাইল রেঞ্জ মানের 1.5 গুণ)। একবার আমরা একটি নির্দিষ্ট বৈশিষ্ট্যে বহিরাগতদের সনাক্ত করার পরে, আমরা বহিরাগতদের চিকিত্সা করার জন্য নীচের কিছু কৌশল ব্যবহার করতে পারি:
লক্ষ্য করুন যে পর্যবেক্ষণগুলি সনাক্ত করার কৌশল রয়েছে যেগুলি মাল্টিভেরিয়েট আউটলায়ার (একাধিক বৈশিষ্ট্যের ক্ষেত্রে বহিরাগত), তবে সেগুলি আরও জটিল এবং সাধারণত মেশিন লার্নিং মডেল প্রশিক্ষণের ক্ষেত্রে খুব বেশি মূল্য যোগ করে না। এছাড়াও নোট করুন যে বেশিরভাগ নন-প্যারামেট্রিক মেশিন লার্নিং মডেলগুলির সাথে কাজ করার সময় আউটলায়াররা উদ্বেগের বিষয় নয় যেমন সমর্থন ভেক্টর মেশিন এবং গাছ-ভিত্তিক অ্যালগরিদম যেমন সিদ্ধান্ত গাছ, র্যান্ডম ফরেস্ট এবং XGBoost।
রিয়েল-ওয়ার্ল্ড ডেটাসেটে ডেটা অনুপস্থিত হওয়া খুবই সাধারণ। XGBoost-এর মতো কিছু বাদে বেশিরভাগ প্রথাগত মেশিন লার্নিং অ্যালগরিদম, প্রশিক্ষণ ডেটাসেটে অনুপস্থিত মান অনুমোদন করে না। এইভাবে, অনুপস্থিত মানগুলি ঠিক করা মেশিন লার্নিং মডেলিংয়ের একটি নিয়মিত কাজ। অনুপস্থিত মান চিকিত্সা করার জন্য বিভিন্ন কৌশল আছে; যাইহোক, কোনও কৌশল প্রয়োগ করার আগে, ডেটা হারিয়ে যাওয়ার কারণটি বোঝা গুরুত্বপূর্ণ বা অন্ততপক্ষে, তথ্যটি এলোমেলোভাবে অনুপস্থিত কিনা তা জানা গুরুত্বপূর্ণ৷ যদি এলোমেলোভাবে ডেটা অনুপস্থিত হয়, মানে নির্দিষ্ট উপগোষ্ঠীর ডেটা অনুপস্থিত হওয়ার সম্ভাবনা বেশি থাকে, সেগুলির জন্য মান নির্ধারণ করা কঠিন হতে পারে, বিশেষ করে যদি সামান্য থেকে কোনও ডেটা উপলব্ধ না থাকে। যদি ডেটা এলোমেলোভাবে অনুপস্থিত থাকে, আমরা নীচে বর্ণিত কিছু সাধারণ চিকিত্সা কৌশল ব্যবহার করতে পারি। তাদের সকলেরই সুবিধা এবং অসুবিধা রয়েছে এবং আমাদের ব্যবহারের ক্ষেত্রে কোন পদ্ধতিটি সবচেয়ে উপযুক্ত তা নির্ধারণ করা আমাদের উপর নির্ভর করে।
প্রায়শই, আমরা মেশিন লার্নিং মডেলগুলিতে যে বৈশিষ্ট্যগুলি ব্যবহার করি সেগুলির বিভিন্ন পরিসর রয়েছে। যদি আমরা সেগুলিকে স্কেলিং ছাড়াই ব্যবহার করি, তাহলে বড় পরম মান সহ বৈশিষ্ট্যগুলি ভবিষ্যদ্বাণী ফলাফলে প্রাধান্য পাবে। পরিবর্তে, প্রতিটি বৈশিষ্ট্যকে ভবিষ্যদ্বাণী ফলাফলে অবদান রাখার একটি ন্যায্য সুযোগ দিতে, আমাদের অবশ্যই একই স্কেলে সমস্ত বৈশিষ্ট্য আনতে হবে। দুটি সবচেয়ে সাধারণ স্কেলিং কৌশল হল:
নোট করুন যে গাছ-ভিত্তিক অ্যালগরিদম যেমন সিদ্ধান্ত গাছ, র্যান্ডম ফরেস্ট, XGBoost এবং অন্যান্যগুলি আনস্কেল করা ডেটা নিয়ে কাজ করতে পারে এবং এই অ্যালগরিদমগুলি ব্যবহার করার সময় স্কেলিং প্রয়োজন হয় না৷
আজ, আমাদের কাছে প্রচুর ডেটা রয়েছে এবং আমরা আমাদের মডেলগুলিকে প্রশিক্ষণ দেওয়ার জন্য বৈশিষ্ট্যগুলির একটি বিশাল সংগ্রহ তৈরি করতে পারি৷ বেশিরভাগ অ্যালগরিদমের জন্য, আরও বৈশিষ্ট্য থাকা ভাল কারণ এটি মডেলের কার্যকারিতা উন্নত করতে আরও বিকল্প সরবরাহ করে। যাইহোক, এটি সমস্ত অ্যালগরিদমের জন্য সত্য নয়। দূরত্বের মেট্রিক্সের উপর ভিত্তি করে অ্যালগরিদমগুলি মাত্রিকতার অভিশাপে ভোগে - বৈশিষ্ট্যের সংখ্যা উল্লেখযোগ্যভাবে বৃদ্ধি পাওয়ার সাথে সাথে দুটি পর্যবেক্ষণের মধ্যে দূরত্বের মান অর্থহীন হয়ে পড়ে। এইভাবে, দূরত্ব মেট্রিক্সের উপর নির্ভর করে এমন অ্যালগরিদমগুলি ব্যবহার করতে, আমাদের নিশ্চিত করা উচিত যে আমরা প্রচুর সংখ্যক বৈশিষ্ট্য ব্যবহার করছি না। যদি আমাদের ডেটাসেটে প্রচুর সংখ্যক বৈশিষ্ট্য থাকে এবং যদি আমরা জানি না যে কোনটি রাখতে হবে এবং কোনটি বাতিল করতে হবে, আমরা প্রিন্সিপাল কম্পোনেন্ট অ্যানালাইসিস (PCA) এর মতো কৌশল ব্যবহার করতে পারি। PCA পুরানো বৈশিষ্ট্যের সেটকে নতুন বৈশিষ্ট্যের সেটে রূপান্তরিত করে। এটি নতুন বৈশিষ্ট্য তৈরি করে যাতে সর্বোচ্চ eigenvalues একটি পুরানো বৈশিষ্ট্য থেকে বেশিরভাগ তথ্য ক্যাপচার করে। তারপরে আমরা শুধুমাত্র শীর্ষ কয়েকটি নতুন বৈশিষ্ট্য রাখতে পারি এবং অবশিষ্টগুলি বাতিল করতে পারি।
অন্যান্য পরিসংখ্যানগত কৌশল, যেমন অ্যাসোসিয়েশন বিশ্লেষণ এবং বৈশিষ্ট্য নির্বাচন অ্যালগরিদম, বৈশিষ্ট্যের সংখ্যা কমাতে তত্ত্বাবধানে শেখার সমস্যাগুলিতে ব্যবহার করা যেতে পারে। যাইহোক, তারা সাধারণত একই স্তরের তথ্য ক্যাপচার করে না যা PCA একই সংখ্যক বৈশিষ্ট্যের সাথে করে।
এই পদক্ষেপটি একটি ব্যতিক্রম কারণ এটি শুধুমাত্র লক্ষ্যের ক্ষেত্রে প্রযোজ্য এবং বৈশিষ্ট্যগুলির জন্য নয়৷ এছাড়াও, বেশিরভাগ মেশিন লার্নিং অ্যালগরিদমের টার্গেটের ডিস্ট্রিবিউশনের উপর কোন বিধিনিষেধ নেই, তবে নির্দিষ্ট কিছু যেমন লিনিয়ার রিগ্রেশনের জন্য লক্ষ্যটি স্বাভাবিকভাবে বিতরণ করা প্রয়োজন। রৈখিক রিগ্রেশন অনুমান করে যে ত্রুটির মানগুলি প্রতিসম এবং সমস্ত ডেটা পয়েন্টের জন্য শূন্যের চারপাশে কেন্দ্রীভূত (ঠিক স্বাভাবিক বিতরণের আকৃতির মতো), এবং একটি সাধারণভাবে বিতরণ করা লক্ষ্য ভেরিয়েবল নিশ্চিত করে যে এই অনুমান পূরণ হয়েছে। আমরা একটি হিস্টোগ্রাম প্লট করে আমাদের লক্ষ্যের বিতরণ বুঝতে পারি। শাপিরো-উইল্ক পরীক্ষার মতো পরিসংখ্যানগত পরীক্ষাগুলি এই অনুমান পরীক্ষা করে আমাদের স্বাভাবিকতা সম্পর্কে বলে। যদি আমাদের লক্ষ্য সাধারণত বিতরণ করা না হয়, আমরা বিভিন্ন রূপান্তর চেষ্টা করতে পারি যেমন লগ ট্রান্সফর্ম, বর্গ ট্রান্সফর্ম, বর্গমূল ট্রান্সফর্ম, এবং অন্য কোন রূপান্তরগুলি লক্ষ্য বন্টনকে স্বাভাবিক করে তা পরীক্ষা করতে। এছাড়াও একটি বক্স-কক্স ট্রান্সফরমেশন রয়েছে যা একাধিক প্যারামিটার মান চেষ্টা করে, এবং আমরা এমন একটি বেছে নিতে পারি যা আমাদের লক্ষ্যের বিতরণকে স্বাভাবিকের মধ্যে রূপান্তরিত করে।
দ্রষ্টব্য: যদিও আমরা বৈশিষ্ট্যগুলিতে বৈশিষ্ট্য প্রক্রিয়াকরণ পদক্ষেপগুলি যে কোনও ক্রমে বাস্তবায়ন করতে পারি, আমাদের অবশ্যই তাদের প্রয়োগের ক্রমটি পুঙ্খানুপুঙ্খভাবে বিবেচনা করতে হবে। উদাহরণস্বরূপ, মান প্রতিস্থাপন ব্যবহার করে অনুপস্থিত মূল্য চিকিত্সা আউটলিয়ার সনাক্তকরণের আগে বা পরে প্রয়োগ করা যেতে পারে। যাইহোক, প্রতিস্থাপনের জন্য ব্যবহৃত গড় মান ভিন্ন হতে পারে আমরা বহিরাগত চিকিত্সার আগে বা পরে অনুপস্থিত মানগুলিকে বিবেচনা করি কিনা তার উপর নির্ভর করে। এই নিবন্ধে বর্ণিত বৈশিষ্ট্য প্রক্রিয়াকরণের ক্রমটি ক্রমাগত প্রক্রিয়াকরণের পদক্ষেপগুলিতে তাদের প্রভাবের ক্রম অনুসারে সমস্যাগুলিকে বিবেচনা করে। এইভাবে, এই ক্রম অনুসরণ করা সাধারণত বেশিরভাগ সমস্যা সমাধানের জন্য কার্যকর হওয়া উচিত।
ভূমিকায় উল্লিখিত হিসাবে, ফিচার ইঞ্জিনিয়ারিং হল মেশিন লার্নিং এর একটি মাত্রা যা আমাদের মডেলের কর্মক্ষমতাকে একটি ব্যতিক্রমী মাত্রায় নিয়ন্ত্রণ করতে দেয়। ফিচার ইঞ্জিনিয়ারিং এর সম্ভাব্যতাকে কাজে লাগানোর জন্য, আমরা এই নিবন্ধে বিভিন্ন কৌশল শিখেছি যাতে নতুন বৈশিষ্ট্য তৈরি করা যায় এবং মেশিন লার্নিং মডেলগুলির সাথে সর্বোত্তমভাবে কাজ করার জন্য সেগুলি প্রক্রিয়া করা যায়। আপনি এই নিবন্ধটি থেকে কোন বৈশিষ্ট্য ইঞ্জিনিয়ারিং নীতি এবং কৌশলগুলি ব্যবহার করতে বেছে নিন না কেন, এখানে গুরুত্বপূর্ণ বার্তাটি বুঝতে হবে যে মেশিন লার্নিং শুধুমাত্র অ্যালগরিদমকে প্যাটার্নগুলি বের করতে বলা নয়৷ এটি আমাদের সম্পর্কে অ্যালগরিদমকে তার প্রয়োজনীয় ডেটা সরবরাহ করে কার্যকরভাবে কাজ করতে সক্ষম করে।