আর র‌্যান্ডমফোরেস্টে শ্রেণিবিন্যাসের জন্য প্রান্তিক পরিবর্তন কীভাবে করবেন?


10

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

library(randomForest)
library(PresenceAbsence)

#build model
RFfit <- randomForest(Y ~ x1 + x2 + x3 + x4 + x5, data=mydata, mytry = 2, ntrees=500)

#eventually I will apply this to (predict for) new data but for first I predict back    to training data to compare observed vs. predicted
RFpred <- predict(RFfit, mydata, type = "prob")

#put the observed vs. predicted in the same dataframe
ObsPred <- data.frame(cbind(mydata), Predicted=RFpred)

#create auc.roc plot
auc.roc.plot(ObsPred, threshold = 10, xlab="1-Specificity (false positives)",
  ylab="Sensitivity (true positives)", main="ROC plot", color=TRUE,
  find.auc=TRUE, opt.thresholds=TRUE, opt.methods=9) 

এ থেকে আমি স্থির করেছিলাম যে পূর্বাভাসযুক্ত সম্ভাবনাগুলি থেকে শ্রেণিবিন্যাসের উপস্থিতির জন্য আমি যে প্রান্তিকতাটি ব্যবহার করতে চাই তা ০.০ এর ডিফল্ট নয় 0. আমি এই তথ্যটি দিয়ে কী করব তা পুরোপুরি বুঝতে পারছি না। আমার আউটপুটটির মানচিত্র তৈরি করার সময় আমি কি কেবল এই প্রান্তিকতা ব্যবহার করি? অবিচ্ছিন্ন সম্ভাব্যতার সাথে আমি সহজেই একটি ম্যাপযুক্ত আউটপুট তৈরি করতে পারতাম তবে কেবল বর্তমানে উপস্থিত 0.7 এর চেয়ে বেশি মানের এবং আবার <0.7 অনুপস্থিত হিসাবে পুনরায় শ্রেণিবদ্ধ করতে পারি।

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


2
আমি বলব এটি এখানে অন্তর্ভুক্ত থাকতে পারে: আরএফ থেকে (1) সম্ভাবনার অনুমানের বিষয়টি, (2) আপনি কোনও মডেলের উপর কোনও ব্যয় চাপিয়ে দিতে পারেন বা এটি মডেলটিতে তৈরি করতে পারেন, এবং (3) কীভাবে ব্যয় কার্য সম্পাদন করতে হবে আরএফ এ পুনরাবৃত্তি করা সমস্যাগুলি যা কেবল প্রোগ্রামিংয়ের সাথে সম্পর্কিত নয়।
চার্লস

উত্তর:


7

# সেট প্রান্তিক বা কাট অফের মান 0.7

cutoff=0.7

কাট অফের মান 0.7 এর চেয়ে কম # সকল মান 0 হিসাবে শ্রেণিবদ্ধ করা হবে (এই ক্ষেত্রে উপস্থিত)

RFpred[RFpred<cutoff]=0

কাট অফের মান 0.7 এর চেয়ে বড় # সমস্ত মান 1 হিসাবে শ্রেণিবদ্ধ করা হবে (এই ক্ষেত্রে অনুপস্থিত)

 RFpred[RFpred>=cutoff]=1

1
আপনি নিজের উত্তরটি কিছুটা প্রসারিত করতে পারেন? খুব কমপক্ষে আপনার কোডটি বয়ান করা কার্যকর হবে।
প্যাট্রিক কৌলম্বে

2
এফডাব্লুআইডাব্লু, আমি মনে করি এটি পুরোপুরি যথেষ্ট।
সাইকোরাক্স বলছে মনিকা পুনরায়

এই উত্তর পুরোপুরি শব্দ। আমি রাজী.
সানোসাপিয়েন

7

দুঃখিত আপনি উত্তর পান না এবং চেষ্টা করেন নি। এই ইস্যুটির কভারেজের জন্য ম্যাক্স কুহনের বইয়ের পরামর্শ দিন। এটি মোটামুটি বিস্তৃত সমস্যা। কিছু বিট যোগ করুন:

  1. আরওসি রেখাচিত্রগুলি জনপ্রিয়, তবে আপনি যদি ব্যয়কে মিথ্যা নেতিবাচক এবং মিথ্যা ইতিবাচক ফলাফলের মধ্যে বাণিজ্য-বোঝার চেষ্টা করছেন তবেই তা বোধগম্য হয়। যদি কস্টএফএন = কোস্টএফপি হয় তবে তারা নিশ্চিত হন তা নিশ্চিত নন। সি-স্ট্যাটিস্টিক এবং অন্যান্য উত্পন্ন পদক্ষেপগুলির এখনও ব্যবহার রয়েছে। আপনি যদি সর্বোচ্চটি যথাযথ করতে চান - কেবলমাত্র এটির জন্য আপনার মডেল টিউন করুন (ক্যারেট প্যাকেজ এটি সহজ করে তোলে), আরওসি বক্ররেখা তৈরি করবেন না।
  2. প্রত্যেকে আরএফ মডেল থেকে প্রাপ্ত সম্ভাব্যতা ব্যবহার করে। আমি মনে করি এটি করার জন্য কিছু চিন্তা দেওয়া উচিত - এগুলি সম্ভাব্য মডেল নয়, তারা এটি করার জন্য নির্মিত নয়। এটি প্রায়শই কাজ করে। আমি যদি সত্যিই প্রোবিলিগুলিতে আগ্রহী হন তবে নূন্যতমে আমি নতুন ডেটাতে আরএফ প্রোবিলিগুলির একটি বৈধতা প্লট তৈরি করব
  3. সবচেয়ে সহজ উপায়টি হ'ল "বর্তমানের ০.7 এর চেয়ে বেশি মান সহকারে কেবল পুনরায় শ্রেণিবদ্ধ করুন এবং সেগুলি <0.7 অনুপস্থিত হিসাবে" ব্যবহার করুন।
  4. যদি ব্যয় (এফএন) সমান ব্যয় (এফপি) না করে, তবে আপনাকে আরএফ-কে সংবেদনশীল করতে হবে need আর এটিকে সহজ করে না। র‌্যান্ডমফোরস্ট প্যাকেজে ওয়েট ফাংশনটি কাজ করে না। সেরা বিকল্পটি স্যাম্পলিংয়ের সাথে প্রায়শই খেলতে হবে, আপনার পছন্দসই ব্যয়ের জন্য আন্ডারের নমুনা সংখ্যাগরিষ্ঠ কেস পেতে হবে। তবে নমুনা অনুপাত এবং ব্যয়ের মধ্যে সম্পর্ক সরাসরি নয়। সুতরাং আপনি (3) এর সাথে লেগে থাকতে চান

ক্লাসের ওজন সম্পর্কে অ্যান্ডি লিয়াউ সম্পর্কিত আপডেট :
র্যান্ডমফোরস্ট প্যাকেজে "বর্তমান" শ্রেণীবদ্ধ "বিকল্পটি শুরু থেকেই সেখানে রয়েছে এবং অফিসিয়াল ফোর্টরান কোড (সংস্করণ 4 এবং পরবর্তী) শ্রেণি ওজনকে কীভাবে প্রয়োগ করে তা থেকে আলাদা। এটি কেবল শ্রেণীর জন্য অ্যাকাউন্ট হয় গিন্ডির সূচক গণনার ওজন যখন নোডকে বিভক্ত করার সময় হয়, ঠিক যেমন শ্রেণীর ওজন দেওয়া হয় তখন কীভাবে একটি একক কার্ট গাছ করা হয় Prof. প্রফেসর ব্রেইমান তার ফোর্টরান কোডের নতুন সংস্করণে প্রয়োগ করা নতুন শ্রেণীর ভারসাম্য প্রকল্পটি নিয়ে এসেছিলেন যখন আমরা দেখতে পেলাম যে কেবল ব্যবহার করে গিনি সূচকের ওজনগুলি অত্যন্ত ভারসাম্যহীন ডেটাতে খুব বেশি সহায়তা করে বলে মনে হয়নি (বলুন 1: 100 বা এর চেয়েও খারাপ)। ভারী গিনি ব্যবহার করা যদি আপনার পরিস্থিতিতে সর্বদা সহায়তা করে তবে তা করুন do আমি কেবল এটিই বলতে পারি অতীতে এটি আমাদের প্রত্যাশা ছিল এমন ফলাফল আমাদের দেয়নি। "


আপনি উপ-পয়েন্ট (4) সম্পর্কে বোঝাতে পারেন কেন ভারী তর্কটি কাজ করে না?
সাইকোরাক্স বলছে মনিকা পুনরায়

2
আমার বোধগম্যতা হ'ল এটি ফরট্রান কোডে কার্যকর হয়েছে ( stat.berkeley.edu/~breiman/RandomForests/cc_software.htm ) তবে আর প্যাকেজ নয়। এটি আলোচনা করা হয়েছে: ( stat.ethz.ch/pipermail/r-help/2011- সেপ্টেম্বর / 289769.html ) এবং গাছের বিল্ডিংয়ের সমস্ত পর্যায়ে ওজন ব্যবহার করার আশেপাশের কেন্দ্রগুলি - কেবল গিনি বিভক্ত নয়। সুতরাং বর্তমান আর বাস্তবায়ন - যা কেবলমাত্র বিভাজনে ওজন ব্যবহার করে খুব ভাল কাজ করে না
চার্লস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.