কেরাস কীভাবে নির্ভুলতার গণনা করে?


26

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


আপনি কি কেরাসে মডেল.ভ্যালুয়েট ব্যবহার করছেন?
হিমা বর্ষা

হ্যাঁ, আমি মডেল। মূল্যায়ন ব্যবহার করছি। আরও সুনির্দিষ্টভাবে, Model.evaluate_generator rator
রঘুরাম


সম্ভবত সম্পর্কিত @ এসও: কেরাস সঠিকতাটি কীভাবে মূল্যায়ন করে? )
মরুভূমি

উত্তর:


24

বাইনারি শ্রেণিবদ্ধকরণের জন্য, নির্ভুলতা মেট্রিকের কোডটি হ'ল:

K.mean(K.equal(y_true, K.round(y_pred)))

যা সুপারিশ করে যে 0.5 টি ক্লাসের মধ্যে পার্থক্য করার প্রান্তিকতা। y_true অবশ্যই এক্ষেত্রে 1- হট হওয়া উচিত।

শ্রেণিবদ্ধ শ্রেণিবিন্যাসের জন্য এটি কিছুটা আলাদা:

K.mean(K.equal(K.argmax(y_true, axis=-1), K.argmax(y_pred, axis=-1)))

যার অর্থ "প্রায়শই ভবিষ্যদ্বাণীগুলি সত্যের মান হিসাবে একই স্থানে সর্বাধিক থাকে"

শীর্ষ-কে শ্রেণীবদ্ধ নির্ভুলতার জন্য একটি বিকল্পও রয়েছে, যা উপরেরটির মতো একটি, তবে শীর্ষ-কে পূর্বাভাসের মধ্যে লক্ষ্য শ্রেণি কতবার হয় তা গণনা করে।


উত্তরের জন্য ধন্যবাদ. এমনকি বাইনারি শ্রেণিবদ্ধকরণের জন্যও কি এর অর্থ লেবেলগুলির একটি হট এনকোড হওয়া দরকার?
রঘুরাম

@ রঘুরাম না, বাইনারি শ্রেণিবিন্যাসের জন্য আপনার ক্লাস হিসাবে কেবল 0 বা 1 প্রয়োজন, এগুলিতে একটি গরম এনকোড দেওয়ার দরকার নেই। যেহেতু কে.মিয়ান (কে.ইকুয়াল (y_true, কে। গ্রাউন্ড (y_pred)) প্রতিটি ক্ষেত্রে 2 টি ভাসমান মানের সাথে মিলবে, সুতরাং এটি 0 বা 1 হতে হবে এবং [0,1] নয়, [1,0]।
দিব্যাংশু কালরা

শ্রেণীবদ্ধ নির্ভুলতার জন্য, ব্যবহার করুন categorical_accuracy
শীতল শাহ

1
একটি বহু-শ্রেণীর সমস্যার জন্য (দুই শ্রেণিরও বেশি), "নির্ভুলতা" বনাম "শ্রেণিবদ্ধ_অক্ষমতা" ব্যবহারের মধ্যে কি পার্থক্য রয়েছে
কোয়েটজলক্যাটল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.