ভারসাম্যহীন ক্লাসের সাথে, আমাকে কী আমার বৈধতা / পরীক্ষার ডেটাসেটের নমুনার অধীনে ব্যবহার করতে হবে?


14

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

জিনিসটি হ'ল আপনি যেমন জানেন যে ডেটাসেটটি খুব ভারসাম্যহীন: প্রায় 1 টি ইতিবাচক উদাহরণের জন্য 1300 নেতিবাচক উদাহরণ (ক্লিক নয়) click

এই আমি কি কি:

  1. ডেটা লোড করুন
  2. ডেটাসেটটি 3 উপাত্তে বিভক্ত করুন: এ = প্রশিক্ষণ (60%) বি = যাচাইকরণ (20%) সি = পরীক্ষা (20%)
  3. প্রতিটি ডেটাসেটের জন্য (এ, বি, সি), প্রতিটি নেতিবাচক শ্রেণীর উপর একটি নিম্ন-নমুনা করুন যাতে অনুপাত 5 থাকে (1 ইতিবাচক উদাহরণের জন্য 5 নেতিবাচক উদাহরণ)। এটি আমাকে 3 টি নতুন ডেটাসেট দেয় যা আরও ভারসাম্যযুক্ত: A 'B' C '

তারপরে আমি ডেটাসেট এ 'এবং লজিস্টিক রিগ্রেশন দিয়ে আমার মডেলটিকে প্রশিক্ষণ দিই।

আমার প্রশ্ন হ'ল:

  1. বৈধতার জন্য আমার কোন ডেটাসেট ব্যবহার করতে হবে? বি বা বি '?

  2. পরীক্ষার জন্য আমার কোন ডেটাসেট ব্যবহার করতে হবে? সি বা সি '

  3. কোন মডেলগুলি আমার মডেলটি মূল্যায়নের জন্য সবচেয়ে প্রাসঙ্গিক? F1Score মনে হয় একটি ভাল ব্যবহৃত মেট্রিক। তবে এখানে ভারসাম্যহীন শ্রেণীর কারণে (যদি আমি ডেটাসেট বি এবং সি ব্যবহার করি), যথার্থতা কম (0.20 এর নিচে) এবং এফ 1 স্কোর কম রিক্যাল / স্পষ্টতা দ্বারা খুব প্রভাবিত। এটি কি আইউকিআর বা অউক্রোক ব্যবহার করা আরও সঠিক হবে?

  4. যদি আমি শিখনের বক্ররেখা প্লট করতে চাই তবে আমার কোন মেট্রিক ব্যবহার করা উচিত? (আমি বৈধতার জন্য বি 'ডেটাসেট ব্যবহার করি তবে% ত্রুটি প্রাসঙ্গিক নয় তা জেনেও)

আপনার সময় জন্য আগাম ধন্যবাদ !

শুভেচ্ছা।

উত্তর:


10

দুর্দান্ত প্রশ্ন ... আপনার নম্বরযুক্ত প্রশ্নের কয়েকটি নির্দিষ্ট উত্তর এখানে:

1)আপনার B নয় B- তে বৈধতা দেওয়া উচিত ` অন্যথায়, আপনি জানবেন না যে আপনার ক্লাসের ভারসাম্য কতটা ভাল চলছে। এটি বি এবং বি উভয় ক্ষেত্রেই বৈধতা চিহ্নিত করতে আঘাত করতে পারে না এবং নীচের 4 টির উত্তরের ভিত্তিতে কার্যকর হবে।

2) আপনার নীচের 4 এর উপর ভিত্তি করে সি এবং সি উভয় ক্ষেত্রেই পরীক্ষা করা উচিত।

3)আমি এফ 1 এর সাথে লেগে থাকব এবং এটি আরওসি-এউসি ব্যবহার করতে কার্যকর হতে পারে এবং এটি একটি ভাল স্যানিটি পরীক্ষা করে। উভয়ই ভারসাম্যহীন ক্লাসে দরকারী হতে থাকে।

4)এটি সত্যিই জটিল হয়ে ওঠে। এটির সাথে সমস্যাটি হ'ল সর্বোত্তম পদ্ধতির জন্য আপনার শেখার বক্ররেখাগুলির চেহারা কেমন হওয়া উচিত তা পুনরায় ব্যাখ্যা করতে হবে বা পুনরায় নমুনাযুক্ত এবং মূল ডেটা সেট উভয়ই ব্যবহার করা উচিত।

শিক্ষণ কার্ভগুলির সর্বোত্তম ব্যাখ্যাটি হ'ল:

  • ওভারফিট - লাইনগুলি একসাথে আসে না;
  • আন্ডারফিট - লাইনগুলি একসাথে আসে তবে খুব কম এফ 1 স্কোর;
  • ঠিক ডান - লাইনগুলি যুক্তিসঙ্গত F1 স্কোর সহ একত্রিত হয়।

এখন, আপনি যদি এ-তে প্রশিক্ষণ নিচ্ছেন এবং সি-তে পরীক্ষা করছেন, লাইনগুলি কখনই পুরোপুরি একত্রিত হয় না। আপনি যদি এ` সম্পর্কে প্রশিক্ষণ নিচ্ছেন এবং সি-তে পরীক্ষা করছেন ফলাফলগুলি মূল সমস্যার প্রসঙ্গে অর্থবহ হবে না। তো তুমি কি কর?

উত্তরটি হ'ল প্রশিক্ষণ এবং বি-তে পরীক্ষা করা, তবে বি.এর জন্য পরীক্ষা করুন, আপনি যে যেখানে চান B` এর জন্য F1 স্কোর পান, তারপরে বি এর জন্য F1 স্কোরটি পরীক্ষা করুন এবং তারপরে আপনার পরীক্ষাটি করুন এবং শিখনের বক্ররেখা উত্পন্ন করুন সি এর জন্য বক্ররেখাগুলি কখনও একত্রিত হয় না, তবে আপনার গ্রহণযোগ্য পক্ষপাতিত্বের ধারণা থাকবে ... এটি F1 (B) এবং F1 (B`) এর মধ্যে পার্থক্য।

এখন, আপনার শেখার বক্ররেখার নতুন ব্যাখ্যাটি হ'ল:

  • ওভারফিট - লাইনগুলি একসাথে আসে না এবং F1 (B`) -F1 (B) এর চেয়ে বেশি দূরে থাকে;
  • আন্ডারফিট - লাইনগুলি একসাথে আসে না তবে পার্থক্যটি F1 (B`) -F1 (B) এর চেয়ে কম এবং এফ 1 (সি) স্কোর এফ 1 (বি) এর অধীনে থাকে;
  • ঠিক ঠিক - লাইনগুলি একসাথে আসে না তবে পার্থক্যটি F1 (B`) -F1 (B) এর চেয়ে কম F1 (সি) এর সাথে এফ 1 (বি) এর মতো স্কোর হয়।

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

আশাকরি এটা সাহায্য করবে!


অনেক ধন্যবাদ @ এএন 605। এটি আপনার খুব সুন্দর! আমার কয়েকটি ক্যাসিটন রয়েছে: 4 এর জন্য) - আপনি যখন "এ 'তে প্রশিক্ষণ দিতে এবং বি'তে পরীক্ষা করার জন্য" বলতে চান, তখন আপনার অর্থ কি বৈধতা? - "সি এবং" এফ 1 (সি) এর স্কোরটি এফ 1 (বি) এর নীচে / সমান "for আমি যদিও তা শেখার বক্ররেখার জন্য, আমাদের প্রশিক্ষণের সেট (এ বা এ 'এখানে) এবং কেবল বৈধকরণের সেট (বি বা বি') এর জন্য ত্রুটি মেট্রিকের প্লট করতে হয়েছিল। আপনি কি এখানে সি তে "বৈধতা" দিচ্ছেন না?
jmvllt

"শ্রেণীর ওজন" ব্যবহার সম্পর্কে, আমি ভুল হলে আমাকে সংশোধন করুন (আমার এটি সম্পর্কে একটি তাত্ক্ষণিক দৃষ্টি ছিল) তবে, এই কৌশলটি সামনের সামনে একটি গুণফল / ওজন "কে" যুক্ত করে ব্যয়ের ক্রিয়াকে "সংশোধন" করা জড়িত ভারসাম্যহীন শ্রেণি, তাই না? : 􏲏 ব্যয় (এইচ (এক্স), y) = -y * কে * লগ (এইচ (এক্স)) - (1-y) * লগ ((এইচ (এক্স)) এর মতো, অ্যালগরিদমকে একটি বিযুক্তি হিসাবে বিবেচনা করা উচিত ধনাত্মক শ্রেণীর বিষয়টিকে আরও গুরুত্বপূর্ণ হিসাবে বিবেচনা করুন But তবে বিষয়টি হ'ল আমার সমস্ত মডেলটি তৈরি করতে আমাকে অ্যাপাচি স্পার্ক এবং এমএলিব ব্যবহার করতে হবে And এবং আমি নিশ্চিত নই যে আমি স্পার্ক দিয়ে আমার ব্যয় কার্যকারিতাটি সহজেই সংশোধন করতে পারি can যাইহোক আপনার জন্য ধন্যবাদ সময়!
jmvllt

5

জন্য 1)এবং 2), আপনি চান

1) choose a model that performs well on data distributed as you 
   expect the real data will be 
2) evaluate the model on data distributed the same way

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

আপনি আন্ডার / ওভার স্যাম্পলিংয়ের পরিবর্তে ক্লাস ওজন ব্যবহার করার চেষ্টা করতে পারেন কারণ এটি আপনার জন্য এই সিদ্ধান্তের যত্ন নেয়।

জন্য 3)আপনি সম্ভবত ব্যবহার যাই হোক না কেন মেট্রিক আপনার উপর রান করা হবে (যদি এটি একটি প্রতিযোগিতা) নিখুত চাই। তবে যদি এটি বিবেচনা না করে তবে এই সমস্ত মডেলগুলি দুর্দান্ত পছন্দ। F1 কম নির্ভুলতার দ্বারা প্রভাবিত হতে পারে তবে আপনি এটি ক্যাপচার করতে চান। অবিকল এটি যখন সাদাসিধা মডেলগুলি (সর্বাধিক শ্রেণীর অনুমান করার মতো) কিছু মেট্রিক দ্বারা ভাল স্কোর করতে পারে যে F1 এর মতো স্কোরগুলি প্রাসঙ্গিক।

হিসাবে 4)সেখানে দেখানো যেটা মেট্রিক আপনার উপর নিখুঁত শেষ সঙ্গে কিছুই ভুল।


হাই @ জেমসএমএফ, এই দুর্দান্ত উত্তরের জন্য ধন্যবাদ। এফ 1 স্কোরের জন্য আমার যে সমস্যাটি হয়েছিল তা হ'ল আমি মিথ্যা নেতিবাচক চেয়ে ফলস পজিটিভকে আরও দূরীকরণের দিকে বেশি মনোযোগ দিতে চাই। নির্ভুলতা এবং পুনরুদ্ধারের কম্পিউটিংয়ে এফপি এবং এফএন এর জন্য আলাদা "ওজন" যুক্ত করা কি ঠিক হবে?
jmvllt

যে আমার জ্ঞান করে তোলে। এছাড়াও আপনার ক্লাস ওজন সম্পর্কিত বিবরণটি সঠিক, এবং আমি এটি এমএলিবায় প্রয়োগ করা দেখতে পাচ্ছি না, তবে এটির বৈশিষ্ট্যটির অনুরোধটি মূল্যবান হতে পারে
jamemf

ঠিক আছে ধন্যবাদ জেমস! আমি বর্তমানে লজিস্টিক গ্রেডিয়েন্ট শ্রেণিটি বাড়িয়ে এবং গণনা পদ্ধতিটি ওভাররাইট করে নিজেই এটি করার চেষ্টা করছি। এটি যদি আমাকে ভাল ফলাফল দেয় তবে আমি আপনাকে জানাব। আপনার দিনটি শুভ হোক.
jmvllt

2

আপনার ক্লাসিফায়ারকে এমন কোনও ডেটাसेटে পরীক্ষা করা উচিত যা এটি কেন ব্যবহৃত হবে তা উপস্থাপন করে। সেরাটি সাধারণত অশোধিত বিতরণ।

শেখার সময়, যে কোনও উপায়ে আপনাকে সহায়তা করে ডেটাসেটটি পরিবর্তন করুন।

বিশদগুলির জন্য, আমি কি একটি 'ভারসাম্যপূর্ণ' ডেটাসেট বা 'প্রতিনিধি' ডেটাসেটের জন্য যেতে পারি?

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