সম্ভাবনা অনুমানটি ব্যবহার করে শ্রেণীবদ্ধ ভেরিয়েবলগুলি এনকোডিং


22

আমি সম্ভাবনার অনুমানটি ব্যবহার করে কীভাবে শ্রেণিবদ্ধ ভেরিয়েবলগুলি এনকোড করতে পারি তা বোঝার চেষ্টা করছি তবে এখন পর্যন্ত খুব কম সাফল্য পেয়েছি।

কোন পরামর্শ ব্যাপকভাবে প্রশংসা হবে।


যখন আমাদের টার্গেট লেবেল না থাকে তখন পূর্বাভাস দেওয়ার সময় কী করতে হবে?
রণজিৎ সিং

উত্তর:


24

আমি এই বিষয়টিও শিখছিলাম, এবং এগুলি আমি খুঁজে পেয়েছি:

  • এই জাতীয় এনকোডিংকে সম্ভাবনা এনকোডিং , ইমপ্যাক্ট কোডিং বা টার্গেট কোডিং বলা হয়

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

  • আপনার যদি শ্রেণিবদ্ধকরণের কাজ থাকে তবে আপনি প্রতিটি বিভাগের মানের সাথে আপনার টার্গেটের আপেক্ষিক ফ্রিকোয়েন্সি গণনা করুন।

  • গাণিতিক দৃষ্টিকোণ থেকে, এই এনকোডিংটির অর্থ প্রতিটি শ্রেণীর মানের শর্তসাপেক্ষে আপনার টার্গেটের সম্ভাবনা।

  • আপনি যদি এটি সহজ পদ্ধতিতে করেন তবে আমি কীভাবে উপরে বর্ণিত, আপনি সম্ভবত একটি পক্ষপাতদুষ্ট অনুমান পাবেন। এজন্য কাগল সম্প্রদায় তারা সাধারণত 2 স্তরের ক্রস-বৈধতা ব্যবহার করে। রেড্ডারের এই মন্তব্যটি এখানে পড়ুন । সম্পর্কিত নোটবুক এখানে

উদ্ধৃতি:

এটি y এর গড় মূল্য নিচ্ছে। তবে সরল মানে নয়, ক্রস-বৈধকরণের মধ্যে ক্রস-বৈধকরণে;

ধরা যাক আমাদের 20-গুণ ক্রস বৈধতা আছে। আমাদের কেবল # 2- # 20 ফোল্ড থেকে তথ্য ব্যবহার করে # 1 ফোল্ডের জন্য বৈশিষ্ট্যের গড় মান গণনা করতে হবে।

সুতরাং, আপনি # 2- # 20 ভাঁজ নেন, এর মধ্যে অন্য ক্রস বৈধতা সেট তৈরি করুন (আমি 10-ভাঁজ করেছি)। প্রতিটি ছুটি-এক-আউট ভাঁজের জন্য গণনা করা (শেষ পর্যন্ত আপনি 10 টি উপায় পান)। আপনি এই 10 টি গড় উপায়ে গড়ে তোলেন এবং আপনার প্রাথমিক # 1 বৈধতা সেটটির জন্য সেই ভেক্টরটি প্রয়োগ করুন। বাকি 19 ভাঁজগুলির জন্য পুনরাবৃত্তি করুন।

এটি ব্যাখ্যা করা শক্ত, বোঝা শক্ত এবং গুরুত্ত্বপূর্ণ :) তবে সঠিকভাবে করা গেলে এটি অনেক সুবিধা বয়ে আনতে পারে :)

  • এই এনকোডিংয়ের আর একটি বাস্তবায়ন এখানে

  • আর লাইব্রেরি vtreat এ তারা ইমপ্যাক্ট এনকোডিং প্রয়োগ করে। এই পোস্টটি দেখুন ।

  • ইন CatBoost গ্রন্থাগার তারা লক্ষ্য এনকোডিং সহ নিঃশর্ত পরিবর্তনশীল এনকোডিং-এর বিকল্প একটি অনেক আছে।

  • স্কেলেরনে এ জাতীয় কোনও এনকোডিং নেই।



আপনি টার্গেট এনকোডিং ব্যবহার করার ক্ষেত্রে কীভাবে আপনি বৈশিষ্ট্য ইন্টারঅ্যাকশন প্রয়োগ করবেন? উদাহরণস্বরূপ, আপনি এফ 1 এবং এফ 2 টার্গেট-এনকোড করেছেন। আপনি কি কেবল এনকোডযুক্ত মানগুলি F1 * F2 গুন করবেন?
মাইকেল লারিওনভ

আপনি যদি প্রতিটি এলইও ভাঁজের জন্য গড় গণনা করেন, তবে আপনি সেগুলির গড় গ্রহণ করুন, আপনি # 2- # 20 ভাড়ার গড় নিচ্ছেন ঠিক ঠিক একইভাবে, কেন এটি সিভি হিসাবে বিবেচনা করা যায় তা আমি দেখতে পাচ্ছি না। এছাড়াও যখন তিনি এই 10 টির গড় গড় গড়েন তখন তিনি "ভেক্টর" বলতে কী বোঝেন তা আমি বুঝতে পারি না।
সিক্সলম

দেরিতে মন্তব্য; বিভাগ এনকোডারগুলিতে লক্ষ্য এনকোডিং একটি সাধারণ গড় এনকোডিং; এটি রড্ডার দ্বারা বর্ণিত ভাঁজগুলির মধ্যে-ভাঁজগুলি নিয়মিতকরণ সম্পাদন করে না।
ড্যান স্ক্যালি

7

টার্গেট এনকোডিং এখন বিভাগ_কেন্দ্র প্যাকেজটির মাধ্যমে স্কলারে উপলভ্য

টার্গেট এনকোডার

শ্রেণি বিভাগ_ইনকোডারস.টারাজেট_একোডার

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

হিসাবে উপরের মন্তব্যে জোশ দ্বারা উল্লিখিত।


1

সাইকিট শিখতে সম্ভাবনা এনকোডিং এখনও পাওয়া যায় না। আপনি অভিধান তৈরি করে এটি করতে পারেন এবং তারপরে একটি প্রতিস্থাপন ফাংশন করতে পারেন।

dict1 = {'cate1':1,'cate2':1,'cate3':2,'cate4':2}
for i in df.shape[0]:
    df.iloc[i] = dict1[df.iloc[i]] 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.