সিদ্ধান্ত গাছগুলির জন্য শ্রেণিবদ্ধ বৈশিষ্ট্যগুলি কোডিংয়ের সেরা অনুশীলনগুলি?


13

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

সিদ্ধান্ত গাছের জন্য কি একই ধরণের নিয়ম রয়েছে (ব্যাগড, বুস্টেড)? আমি এটি জিজ্ঞাসা করছি কারণ পাইথনে একটি স্ট্যান্ডার্ড অনুশীলন মনে হয় nস্তরগুলি nডমিগুলিতে (স্কালার্নস ' OneHotEncoderবা পান্ডাস' pd.get_dummies) প্রসারিত করে যা আমার কাছে সাবমোটিমাল বলে মনে হয়।

সিদ্ধান্ত গাছগুলির জন্য শ্রেণিবদ্ধ বৈশিষ্ট্যগুলি কোডিংয়ের সর্বোত্তম অনুশীলন হিসাবে আপনি কী পরামর্শ দেবেন?

উত্তর:


12

দেখে মনে হচ্ছে আপনি বুঝতে পেরেছেন যে আপনি nস্তরগুলি তুলতে সক্ষম হলেন, এর বিপরীতে n-1, কারণ লিনিয়ার রিগ্রেশনের বিপরীতে আপনাকে নিখুঁত কোলিনারিটির বিষয়ে চিন্তা করার দরকার নেই।

(আমি এটি আর এর দৃষ্টিকোণ থেকে আসছি, তবে আমি পাইথনের ক্ষেত্রে এটি একইরকম অনুমান করি)) এটি বেশ কয়েকটি বিষয়ের উপর নির্ভর করে, যেমন 1) আপনি কোন প্যাকেজটি ব্যবহার করছেন এবং ২) আপনার কতগুলি ফ্যাক্টর স্তর রয়েছে।

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

স্পষ্টতই যদি আপনি যে বিশেষভাবে প্যাকেজটি ব্যবহার করছেন সেটি বিভাগীয় বৈশিষ্ট্যগুলি পরিচালনা করতে না পারে তবে আপনার কেবল nডামি ভেরিয়েবলগুলি তৈরি করতে হবে ।

2) আমি উপরে বর্ণিত হিসাবে, আর এর এলোমেলো বন বাস্তবায়ন কেবল 32 ফ্যাক্টর স্তরগুলি পরিচালনা করতে পারে - আপনার যদি এর চেয়ে বেশি থাকে তবে আপনাকে হয় নিজের উপাদানগুলি আরও ছোট ছোট উপচ্ছেদে বিভক্ত করতে হবে বা প্রতিটি স্তরের জন্য একটি ডামি ভেরিয়েবল তৈরি করতে হবে।


1
ধন্যবাদ! আমি কি আপনাকে সঠিকভাবে পেয়ে যাচ্ছি: যদি না আমি আর-তে মডেলিং করি, যেখানে শ্রেণিবদ্ধ বৈশিষ্ট্যগুলি randomForestস্বয়ংক্রিয়ভাবে কোডিং হয়, আমার nডামিদের সাথে যাওয়া উচিত কারণ আরএফের জন্য প্রান্তিকতা কোনও সমস্যা নয়?
সের্গে বুশমানভ 19

3
৩২-স্তরের বাইনারি-এনকোডযুক্ত বিভাগগুলি গাছের মধ্যে কিছুটা আলাদা আচরণ করবে, যেহেতু আরএফ অনেকগুলি স্তরযুক্ত ফ্যাক্টরের একক কলাম নির্বাচন না করে কেবল সেই বাইনারি কলামগুলির মধ্যে থেকে নির্বাচন করবে। এই সূক্ষ্ম পার্থক্যের অর্থ বাইনারি কলামগুলিতে বিভাজনটি ফ্যাক্টর কলামে বিভাজনের তুলনায় কম তথ্যবহুল হবে, যেহেতু কেবলমাত্র একটি পছন্দ (0/1) বনাম (1 / {2,3}, {2,1} / 3 ) ইত্যাদি
সাইকোরাক্স মনিকাকে

@ user777 এটি 32 টির বেশি ভেরিয়েবল থাকার সমস্যা নয়। পাইথনে "দলবদ্ধ" বিভাগের ভেরিয়েবল না থাকার এটি একটি সমস্যা sklearn... ব্যবহারিকভাবে বলতে গেলে, এমন কোনও প্রমাণ (ব্যবহারিক অভিজ্ঞতা, গবেষণা ইত্যাদি) রয়েছে যে "ডাম্মাইফাইড" ভেরিয়েবলগুলি "গ্রুপযুক্ত" শ্রেণীবদ্ধ ভেরিয়েবলের [আরে] এর চেয়ে আরও খারাপ সম্পাদন করবে
সের্গে বুশমানভ

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

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

4

শ্রেণীবদ্ধ ভেরিয়েবলগুলি মোকাবেলার জন্য আরও একটি পদ্ধতি রয়েছে যা টার্গেট / এফেক্ট এনকোডিং বলে।

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

এখানে বিষয়টির একটি সুন্দর ব্যাখ্যা এখানে দেওয়া হয়েছে: https : // towardsdatasज्ञान.com/why-you-should-try-mean-encoding-
17057262cd0

এবং এখানে কাগজের একটি লিঙ্ক রয়েছে যা মূলত এনকোডিংয়ের প্রস্তাব করেছিল: http://helios.mm.di.uoa.gr/~rouvas/ssi/sigkdd/sigkdd.vol3.1/barreca.pdf

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

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