এটি কি ফিচার ইঞ্জিনিয়ারিংয়ের একটি ভাল অনুশীলন?


10

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

আমার প্রশ্নগুলো:

  1. এটি প্রথম স্থানে করে বোঝার কোনও অর্থ নেই?
  2. যদি হ্যাঁ, তবে আমি কীভাবে জানতে পারি যে এই চক্রটি বন্ধ করার জন্য ভাল সময় কখন?
  3. তা না হলে কেন?

উত্তর:


6

আপনি যদি নতুন ডেটা যুক্ত করতে পারেন (যেমন অঞ্চল হিসাবে একটি মূল ধারণার উপর ভিত্তি করে যেমন জিপ কোড) এবং আপনার মডেলটির পারফরম্যান্স উন্নতি করে তবে অবশ্যই এটি অনুমোদিত ...

এমন মেট্রিক রয়েছে যা আপনাকে এটি গাইড করার চেষ্টা করবে, যেমন আকাইকে তথ্য মানদণ্ড (এআইসি) বা তুলনীয় বায়েশিয়ান তথ্য মানদণ্ড (বিআইসি) IC এগুলি তার কার্য সম্পাদনের উপর ভিত্তি করে কোনও মডেল বাছতে সহায়তা করে, প্রবর্তিত সমস্ত অতিরিক্ত পরামিতিগুলির জন্য শাস্তি দেওয়া হচ্ছে এবং এটি অবশ্যই অনুমান করা উচিত। এআইসির মতো দেখতে:

AIC=2k2ln(L^)

যেখানে অনুমান করা যায় এমন প্যারামিটারের সংখ্যা, অর্থাৎ আপনি যে বৈশিষ্ট্যগুলি প্রয়োগ করেন তার সংখ্যা, কারণ প্রত্যেকের আপনার লজিস্টিক রিগ্রেশনটিতে একটি করে গুণফল থাকবে। সর্বাধিক সম্ভাবনার সর্বোচ্চ মান (অনুকূল স্কোরের সমতুল্য)। মডেলদের শাস্তি দিতে বিআইসি কেবল কিছুটা আলাদাভাবে ব্যবহার করে।kL^k

এই মানদণ্ডগুলি আপনাকে কখন থামতে হবে তা বলতে সহায়তা করতে পারে, আপনি আরও বেশি প্যারামিটার সহ মডেলগুলি চেষ্টা করতে পারেন এবং কেবল সেরা মডেলটি নিতে পারেন যার সেরা এআইসি বা বিআইসি মান রয়েছে।

আপনার যদি এখনও মডেলের অন্যান্য বৈশিষ্ট্যগুলি থাকে, যা জিপ সম্পর্কিত নয় তবে তারা সম্ভবত অভিভূত হতে পারে - এটি আপনার ব্যবহৃত মডেলের উপর নির্ভর করে। তবে, তারা ডেটাসেট সম্পর্কে এমন কিছু বিষয়ও ব্যাখ্যা করতে পারে যা জিপ তথ্যগুলিতে কেবল অন্তর্ভুক্ত করা যায় না, যেমন ঘরের মেঝে অঞ্চল (ধরে নিলে এটি জিপ কোড থেকে তুলনামূলকভাবে স্বতন্ত্র)।

এক্ষেত্রে আপনি এগুলি প্রিন্সিপাল কম্পোনেন্ট অ্যানালাইসিসের মতো কোনও সাথে তুলনা করতে পারেন, যেখানে বৈশিষ্ট্যগুলির সংকলন ডেটা সেটের বিভিন্নতার একটি মাত্রা ব্যাখ্যা করে, অন্য বৈশিষ্ট্যগুলি অন্য মাত্রা ব্যাখ্যা করে। সুতরাং আপনার যতগুলি জিপ সম্পর্কিত বৈশিষ্ট্য রয়েছে তা বিবেচনা না করেই আপনি কখনও মেঝে অঞ্চলের গুরুত্ব ব্যাখ্যা করতে পারেন না।


7

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

২) যেহেতু আপনি একটি লজিস্টিক রিগ্রেশন ব্যবহার করছেন, তাই আপনি সর্বদা এআইসি ব্যবহার করতে পারেন বা নতুন কাঠামো যুক্ত করার আগে চি-স্কোয়ার টেস্ট (ফিটের সার্থকতা পরীক্ষা করা) এর মতো একটি পরিসংখ্যানগত তাত্পর্য পরীক্ষা করতে পারেন, প্রতিক্রিয়াটির বিতরণটি সত্যই আলাদা কিনা তা সিদ্ধান্ত নিতে এবং এই কাঠামো ছাড়া। আপনার ডেটা অভাব হলে এটি বিশেষত কার্যকর। আরেকটি উপায় হ'ল আপনার মডেলটিতে পেনাল্টি শব্দ যুক্ত করা। উদাহরণস্বরূপ, লজিস্টিক লসো রিগ্রেশন।

3) নতুন বৈশিষ্ট্য যুক্ত করা সর্বদা একটি ভাল ধারণা নয়। উচ্চ-মাত্রিকতার অভিশাপের সাথে সাবধানতা অবলম্বন করুন। নতুন বৈশিষ্ট্য যুক্ত করার সময়, আপনি আসলে আপনার ডেটাতে একটি নতুন মাত্রা যুক্ত করছেন। নিঃসন্দেহে, কেউ ভাবতে পারেন যে আরও বৈশিষ্ট্য সংগ্রহ করা কখনই ব্যাথা পায় না, কারণ তারা খারাপ দিক থেকে ক্লাস সম্পর্কে কোনও নতুন তথ্য সরবরাহ করে না। তবে প্রকৃতপক্ষে তাদের সুবিধাগুলি মাত্রিকতার অভিশাপ দ্বারা অতিক্রম করা হতে পারে। আমি আশা করি মেশিন লার্নিং সেশন 6 সম্পর্কে জেনে রাখা দরকারী জিনিসগুলি সাহায্য করতে পারে।


@ ব্যবহারকারী 3768495 উদাহরণস্বরূপ ক্রস-বৈধকরণ ব্যবহার করে মডেলটির বাইরে-নমুনার কর্মক্ষমতা মূল্যায়ন করছে? যদি তা হয়, তবে বহু-তাত্ক্ষণিকতার কোনও সমস্যা হওয়া উচিত নয় এবং তাকে ওভারফিটিংয়ের বিষয়ে চিন্তা করা উচিত নয় কারণ বৈধতা কর্মক্ষমতা হ্রাসের মাধ্যমে তিনি অতিরিক্ত ফিট হওয়ার ইঙ্গিত পাবেন।
rinspy

@ রিনস্পি ওভারফিটিংয়ের অনেক মুখ রয়েছে। একটি বৈধতা সেট জড়িত overfitting এড়ানো সাহায্য করতে পারে কিন্তু সমস্যার সমাধান করতে পারে না। উদাহরণস্বরূপ, প্রশিক্ষণ ডেটা (যা প্রশিক্ষণ সেট এবং বৈধকরণ সেট মধ্যে বিভক্ত) এবং বাস্তব জনসংখ্যার মধ্যে অসঙ্গতিপূর্ণ বিতরণ। এমনকি মডেল প্রশিক্ষণের ডেটাতে ভাল পারফর্ম করে, এটি বাস্তব বিশ্বের পরিস্থিতিতে সাধারণীকরণ করা যায় না। আমার উত্তর থেকে রেফারেন্স ওভারফিটিং সম্পর্কে কথা বলেছে।
অনুরাগী

সত্য, তবে বহুবিধ লাইন এড়িয়ে যাওয়া কোভারিয়েট শিফট থেকে উদ্ভূত 'ওভারফিটিং' এর সাথে সহায়তা করবে না। আমি কেবল এটিই বলছি যে যদি তিনি ভবিষ্যদ্বাণীমূলক (এবং বর্ণনামূলক নয়) মডেল তৈরি করতে আগ্রহী হন তবে বহুবিধ লাইনটি সম্ভবত কোনও সমস্যা নয়।
rinspy

ওভারফিটিং সম্পর্কে আমার ধারণাটি যখন কোনও মডেল কোনও নতুন ডেটাসেটে সাধারণীকরণে ব্যর্থ হয়, প্রশিক্ষণের ডেটা নয়। দয়া করে দেখুন এই
Fansly

4

সাধারণত, সমৃদ্ধ বৈশিষ্ট্যগুলি আরও ভাল।

তবে একটি বিষয় মনে রাখতে হবে, সাধারণভাবে, রেজিস্ট্রেশনগুলি, খুব বেশি সংযুক্তিযুক্ত (মাল্টিকোলাইনারিটি) ডেটার সাথে ভালভাবে কাজ করে না। আপনি যখন নিজের বৈশিষ্ট্যগুলি এভাবে প্রসারিত করেন, এটি এমন কিছু যা আপনি মনে রাখতে পারেন।

এই বিষয়টিতে প্রচুর তথ্য রয়েছে (এবং প্রশমিত করার সম্ভাব্য উপায়গুলি), কেবল গুগল রিগ্রেশন এবং মাল্টিকোলাইনারিটি।

সংক্ষেপে,

  1. হ্যাঁ. সবচেয়ে স্পষ্টভাবে.
  2. @ n1k31t4 এর কিছু ভাল পরামর্শ রয়েছে। আপনার বৈশিষ্ট্যগুলি কীভাবে আপনার মডেলটির উন্নতি করবে তা নির্দ্বিধায় উত্সাহিত করুন, তারপরে আপনি নিজেকে কী গুরুত্বপূর্ণ তা সীমাবদ্ধ করতে পিসিএ এবং অন্যান্য বৈশিষ্ট্য নির্বাচনের কৌশলগুলি ব্যবহার করতে পারেন।
  3. বিবেচনা করার মতো অন্যান্য বিষয় হ'ল এটি প্রচেষ্টা এবং ফলাফল হিসাবে কতটা বাস্তব।

0

বৈশিষ্ট্যগুলি হ'ল আপনার মডেলের তথ্য। তথ্য যত বেশি হবে ততই পারফরম্যান্স এবং ভবিষ্যদ্বাণী করতে সক্ষম হবে। এটি যত কম হবে, মানগুলি পূর্বাভাস দেওয়া শক্ত। সংক্ষিপ্ত নাসার হ্যাঁ হয়। যতটা সম্ভব বৈশিষ্ট্য থাকা সর্বদা মূল্যবান। সর্বদা এর সীমাবদ্ধতা রয়েছে যদিও একটি তথ্যের ওভারলোড আপনার প্রসেসরটিকে পোড়াতে পারে, সুতরাং কতগুলি বৈশিষ্ট্য ইঞ্জিনিয়ার হচ্ছে সে সম্পর্কে সাবধান হন। এছাড়াও, অপ্রয়োজনীয় বৈশিষ্ট্যগুলি কেবল বার্নআউটকে যুক্ত করে, তাই নির্দিষ্ট বৈশিষ্ট্যগুলি পরিষ্কার করার জন্য এটি সর্বদা ভাল অনুশীলন। পুরো ডেটা প্রিপ্রোসেসিং পর্বটি সে সম্পর্কে।

প্রথম উত্তরে এটি সম্পর্কে কিছু ভাল বিশদ রয়েছে। যতক্ষণ একটি চক্র বন্ধ করার বিষয়টি বিবেচনা করা যায়, তেমনি বেশ কয়েকটি ব্যবস্থা এবং কারণ রয়েছে যা আপনার মডেলটি আরও ভাল সম্পাদন বন্ধ করে দিয়েছে এবং এটি আরএমএসইয়ের মতো পদক্ষেপগুলি যাচাই করতে আপনাকে সচেতন হওয়া দরকার। একটি সাধারণ উদাহরণ xgboostহ'ল আপনার ডেটাতে রিগ্রেশন ব্যবহার করা এবং চক্রের সংখ্যা উল্লেখ করা। মডেলটি চালান এবং আপনি প্রতিটি চক্রের জন্য আরএমএসই পাবেন। এটি এমন একটি সীমাতে কমে যাবে যার পরে আপনি মডেলটি একটি নির্দিষ্ট চক্রের পরে মালভূমি রেখেছিলেন তা অনুমান করতে সক্ষম হবেন। মডেল টিউনিং এবং অপ্টিমাইজেশন এইভাবে কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.