ভারসাম্যহীন ডেটার বিরুদ্ধে সিদ্ধান্তের গাছ প্রশিক্ষণ


43

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

উপাত্তগুলি কোর্স অধ্যয়নরত শিক্ষার্থীদের সমন্বয়ে গঠিত এবং ক্লাস ভেরিয়েবল হল কোর্সের স্ট্যাটাস যা দুটি মান রয়েছে - প্রত্যাহার বা বর্তমান।

  • বয়স
  • জাতিতত্ত্ব
  • লিঙ্গ
  • কোর্স
    ...
  • কোর্সের স্থিতি

ডেটা সেটে আরও অনেকগুলি উদাহরণ রয়েছে যা প্রত্যাহারের চেয়ে বর্তমান। প্রত্যাহারকৃত দৃষ্টান্তগুলি মোট দৃষ্টান্তের কেবল 2%।

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

আমি সিদ্ধান্ত গাছগুলির সাথে একই ধরণের সমস্যা পেয়েছি যেখানে ডেটা এক বা দুটি শ্রেণীর দ্বারা প্রাধান্য পায়।

এই সমস্যাটি সমাধান করতে এবং আরও নির্ভুল শ্রেণিবদ্ধ তৈরি করতে আমি কোন পদ্ধতির ব্যবহার করতে পারি?


4
একটি বিষয় বিবেচনা করার জন্য হ'ল বিভিন্ন ধরণের ভুল শ্রেণিবদ্ধের জন্য জরিমানার শর্তাদি পরিবর্তন করা। আপনি কোন সফ্টওয়্যার ব্যবহার করছেন তা আপনি বলবেন না, তবে আমি বিশ্বাস করি যে সমস্ত ভাল ট্রি সফ্টওয়্যারটিতে এটি করার উপায় অন্তর্ভুক্ত করা উচিত।
পিটার ফ্লুম - মনিকা পুনরায়

উত্তর:


61

শ্রেণিবিন্যাসে এটি একটি আকর্ষণীয় এবং খুব ঘন ঘন সমস্যা - কেবল সিদ্ধান্ত গাছগুলিতে নয় কার্যত সমস্ত শ্রেণিবিন্যাস অ্যালগরিদমে।

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

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

এই বিষয়টিতে মেশিন-লার্নিং সাহিত্য মূলত তিনটি সমাধান কৌশল তৈরি করেছে।

  1. আপনি এটির ট্রেনিং সেট -এর ওপর ভারসাম্য পুনরুদ্ধার করতে পারেন undersampling বৃহৎ বর্গ বা oversampling ছোট বর্গ, প্রথম স্থানে উদ্ভূত থেকে পক্ষপাত প্রতিরোধ।

  2. বিকল্পভাবে, আপনি পক্ষপাত প্রতিরোধের জন্য আবার পূর্ববর্তী প্রতিক্রিয়া হিসাবে উল্লিখিত হিসাবে ভুল সংশোধন ব্যয়গুলি সংশোধন করতে পারেন।

  3. ϕ:=12(π++π),π+π

যথার্থতা বনাম ভারসাম্য নির্ভুলতা

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

আপনি যদি এই সম্পর্কে অনুসরণ করতে চান তবে আমি সাহিত্যের কিছু অতিরিক্ত রেফারেন্স পোস্ট করে খুশি হব।


3
ব্রোডার - বিস্তারিত তথ্যের জন্য ধন্যবাদ। এটা সত্যিই সহায়ক হয়েছে! আমি প্রথমে এসকিউএল সার্ভারে ডেটা মাইনিং কার্যকারিতাটি ব্যবহার করার চেষ্টা করেছি, তবে, আপনার পরামর্শ অনুসরণ করে আমি আর ব্যবহার করতে শুরু করেছিলাম I ডিটিগুলি 81% এর ভারসাম্য যথার্থতা দেয় এবং এসভিএম এর সাথে আরও ভাল। যদিও একটি প্রশ্ন - আমার কি এমন ডেটা সেটের বিপরীতে মডেলটি পরীক্ষা করা উচিত যাতে রিব্যাল্যাঙ্কড ডেটা থাকে? অথবা এটি কি আরও মূল হিসাবে ডেটা বিরুদ্ধে পরীক্ষা করা উচিত?
ক্রিসব

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

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

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

2
@ ক্রিসব, এটি একটি সামান্য (!) দেরী মন্তব্য। স্পর্শকাতর অবস্থায়, আপনি আপনার শিক্ষার্থীদের বেঁচে থাকার মডেল করতে কক্স প্রপোরশনাল হ্যাজার্ডস রিগ্রেশন ( cran.r-project.org/doc/contrib/Fox-Companion/… ) চেষ্টা করতে পারেন । আপনার নিচে বা অতিরিক্ত স্যাম্পলিংয়ের দরকার পড়তে পারে না।
ঝুবার্ব

8

নিম্নলিখিত চারটি ধারণা আপনাকে এই সমস্যাটি মোকাবেলায় সহায়তা করতে পারে।

  1. 2PrecisionRecallPrecision+Recall

  2. ডেটাসেটের ক্লাসগুলির পূর্ববর্তী ফ্রিকোয়েন্সিটির অ্যালগরিদমকে অবহিত করার জন্য সিদ্ধান্ত গাছগুলিতে 'পূর্ব' পরামিতিটি ব্যবহার করুন, অর্থাত্ যদি কোনও 1,000,0000 ডেটাसेट সেট prior = c(0.001, 0.999)(আর) তে 1000 ধনাত্মকতা থাকে ।

  3. বিরল ইতিবাচক মামলার ভুল শংসাপত্রের জন্য অ্যালগোরিদমকে মারাত্মকভাবে শাস্তি দিতে আপনি যে শ্রেণিবদ্ধকরণ ফাংশনটি ব্যবহার করেন তাতে 'ওজন' যুক্তি ব্যবহার করুন

  4. কিছু ধরণের শ্রেণিবদ্ধকরণ অ্যালগরিদমে 'ব্যয়' যুক্তিটি ব্যবহার করুন - যেমন - rpartসত্যিকারের ধনাত্মক এবং সত্য নেতিবাচকগুলির ভুল শংসাপত্রের জন্য তুলনামূলক ব্যয় নির্ধারণ করতে আর - এ - । বিরল শ্রেণীর ভুল শংসার জন্য আপনার স্বাভাবিকভাবেই একটি উচ্চ ব্যয় নির্ধারণ করা উচিত।

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


2

সাম্প্রতিক বিষয়ে আমি একটি উত্তর দিয়েছি :

আমরা যা করি তা হ'ল বিভিন্ন অনুপাত সহ একটি নমুনা বাছাই। পূর্বোক্ত উদাহরণে, এটি "হ্যাঁ" এর 1000 কেস এবং উদাহরণস্বরূপ, "কোনও" নয় 9000 কেস হবে। এই পদ্ধতির আরও স্থিতিশীল মডেল দেয়। তবে, এটি একটি আসল নমুনায় পরীক্ষা করতে হবে (এটি 1,000,000 সারি সহ)।

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

আপনি এটি "পরিসংখ্যানগুলিতে ওভার স্যাম্পলিং" হিসাবে অনুসন্ধান করতে পারেন, প্রথম ফলাফলটি বেশ ভাল: http://www.statssa.gov.za/isi2009/SifographicProgramme/IPMS/1621.pdf


1

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

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