এক্সবিস্টে সম্ভাব্যতা কীভাবে পূর্বাভাস দেওয়া যায়?


16

নীচের পূর্বাভাস ফাংশনটি -র পাশাপাশি মান দেয় তাই এটি সম্ভাব্যতা হতে পারে না।

param <- list(max.depth = 5, eta = 0.01,  objective="binary:logistic",subsample=0.9)
bst <- xgboost(param, data = x_mat, label = y_mat,nround = 3000)

pred_s <- predict(bst, x_mat_s2)

আমি গুগল করেছি এবং চেষ্টা করেছি pred_s <- predict(bst, x_mat_s2,type="response") কিন্তু এটি কার্যকর হয়নি।

প্রশ্ন

পরিবর্তে সম্ভাবনার পূর্বাভাস কিভাবে?


আপনি যে সেটিংস ব্যবহার করেছেন তা কি ডিফল্টরূপে সম্ভাব্যতার আউটপুট দেয় না? আমি বলতে চাইছি: আপনি কি পূর্ব_দের পরীক্ষা করেছেন এবং আপনি নিশ্চিত যে সেগুলি সম্ভাবনা নয়?
কেপিবি

এর নেতিবাচক মান নেই। সম্ভাবনা 0 থেকে 1 এর মধ্যে পরিবর্তিত হওয়া উচিত
জর্জঅফএফআরএফ

আমি কোন সুস্পষ্ট সমস্যা দেখতে পাচ্ছি না। (যদিও, আমি পাইথন মোড়কের সাথে বেশি পরিচিত)। আপনি কি ফাংশন যোগ outputmargin=Fকরার চেষ্টা করেছেন predict? যদি কোনওভাবে outputmarginসেট করা থাকে Tতবে এটি লজিস্টিক রূপান্তরের আগে মানটি ফিরিয়ে দেবে।
বিপর্যয়

1
পাইথনের জন্য, আপনি এপিআই predict_probaথেকে বাস্তবায়নটি অনুলিপি করতে পারেন sklearn: github.com/dMLc/xgboost/blob/master/python-package/xgboost/…
আন্তন তারাসেনকো

উত্তর:


14

জেনে নিন আমি কিছুটা দেরি করেছি, তবে আপনার কাছ থেকে সম্ভাব্যতা অর্জনের xgboostজন্য multi:softmaxএই উদ্দেশ্যে উদ্দেশ্য নির্দিষ্ট করা উচিত :

xgboost(param, data = x_mat, label = y_mat,nround = 3000, objective='multi:softprob')

থেকে ?xgb.train:

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


2
ধন্যবাদ। বাইনারি থেকে এই ক্ষতির কার্যকারিতা কীভাবে আলাদা: বাইনারি শ্রেণিবিন্যাসের জন্য যৌক্তিক?
জর্জিফএফআরএফ

3
এটি বহু-শ্রেণীর ক্ষেত্রে লজিস্টিক ফাংশনটির কেবলমাত্র একটি সাধারণীকরণ, কোনও উল্লেখযোগ্য পার্থক্য হওয়া উচিত নয়।
সাইবারজ0জি

14

শুধু predict_probaপরিবর্তে ব্যবহার করুন predict। আপনি উদ্দেশ্য হিসাবে ছেড়ে যেতে পারেন binary:logistic


3
যদি এটি পাইথন এবং আর না হয়, তবে এই উত্তরটি বোধগম্য হতে পারে। ভুল ভাষা।
বি_মিনার

1
ওহো! ধন্যবাদ @ বি_মিনার আমি এই উত্তরটি মুছে ফেলছি না কারণ এটি অন্যদের জন্য সহায়ক হতে পারে যা একই ভুল করতে পারে এবং মনে হয় আমরা পাইথন নিয়ে কথা বলছি ..
ইহাদানী


4
xgboost এর কোন পূর্বাভাস_প্রোবা ফাংশন নেই
অশোক লেলা

1
এক্সজিবিস্ট ক্লাসিফায়ারটিতে একটি পূর্বাভাস_প্রবাহ বিকল্প রয়েছে xgboost.readthedocs.io/en/latest/python/python_api.html
পল বেনডেভিস

0

পূর্বাভাস পরে

pred_s <- predict(bst, x_mat_s2)

আপনি দ্বারা সম্ভাবনা পেতে পারেন

pred_s$data

এটি যদি বাইনারি শ্রেণিবদ্ধ হয় তবে pred_s$dataপ্রোব.0, প্রোব 1, প্রতিক্রিয়া অন্তর্ভুক্ত রয়েছে।

সুতরাং আপনি দ্বারা প্রোব 1 পেতে পারেন

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