মাল্টিক্লাস-মাল্টিলেবল শ্রেণিবদ্ধকরণের জন্য কীভাবে নির্ভুলতা / রিক্যাল গণনা করা যায়?


72

আমি ভাবছি যে কীভাবে নির্ভুলতা গণনা করতে হবে এবং মাল্টিক্লাস মাল্টিলেবল শ্রেণিবদ্ধকরণের জন্য প্রতিকারগুলি পুনরুদ্ধার করতে হবে, যেখানে শ্রেণিবিন্যাস যেখানে দুটির বেশি লেবেল রয়েছে এবং যেখানে প্রতিটি উদাহরণে একাধিক লেবেল থাকতে পারে?


1
মাল্টিলেবল অংশ এটিকে আরও শক্ত করে তোলে এবং আমিও এতে আগ্রহী। আমি মনে করি যে এটি মাল্টিলেবল সমস্যাগুলির জন্য প্রযোজ্য নয় তবে আমার উপর একেবারেই বিশ্বাস করবেন না।
ব্যবহারকারী 798719

1
প্রকৃতপক্ষে, সমস্ত মাল্টিলেবেল সমস্যাগুলি মাল্টিক্লাস, সুতরাং আপনি উদাহরণস্বরূপ আর জাভাতে মুলান এর utiml প্যাকেজটি ব্যবহার করতে পারেন।
অ্যাড্রিয়ানো রিভোলি

উত্তর:


19

শ্রেণিবদ্ধ কর্মক্ষমতা পরিমাপের জন্য আর একটি জনপ্রিয় সরঞ্জাম হ'ল আরওসি / এউসি ; এটিরও একটি বহু-শ্রেণি / মাল্টি-লেবেল এক্সটেনশন রয়েছে: দেখুন [হ্যান্ড 2001]

[হ্যান্ড 2001]: একাধিক শ্রেণি শ্রেণিবিন্যাসের সমস্যাগুলিতে আরওসি বক্ররেখার অধীনে অঞ্চলটির একটি সাধারণ সাধারণীকরণ


এটি জনপ্রিয়, তবে এটি বগি হতে পারে। আমি পুরোপুরি এটি বিশ্বাস করি না। stats.stackexchange.com/questions/93901/…
EngrStudent

3
স্ট্যাকের ওভারফ্লো কখনই পরিবর্তন করবেন না! গাই একটি সমস্যা জিজ্ঞাসা করেছেন, সর্বাধিক ভোট দেওয়া উত্তর আসলে তার প্রশ্নের উত্তর দেয় না, তবে আরও কিছু সরঞ্জাম / গ্রন্থাগারটি নির্দেশ করে যা আরও ভাল হবে
ragvri

হ্যাঁ, এই উত্তরটিতে +20 কীভাবে থাকতে পারে? এটি শব্দের যথার্থতা এবং প্রত্যাহারগুলিও ধারণ করে না।
সাইমন ডারমিয়ার

আপনি যদি পুঙ্খানুপুঙ্খভাবে চিন্তা করেন তবে আপনি বুঝতে পারবেন যে নির্ভুলতা এবং প্রত্যাহারগুলি আসলে এউসি দ্বারা ক্যাপচার করা হয়েছে।
ওডিডিএসকুল

16

কনফিউশন ম্যাট্রিক্স এবং মাল্টি-ক্লাস সুস্পষ্টতা / রিকাল পরিমাপ সম্পর্কে কোর্স ফোরামের থ্রেড সম্পর্কে এখানে কিছু আলোচনা।

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

বিভ্রান্তির ম্যাট্রিক্স একটি ক্লাসের নির্ভুলতা এবং পুনরুদ্ধার গণনা করা সহজ করে তোলে।

নীচে এই থ্রেড থেকে অনুলিপি বিভ্রান্তির ম্যাট্রিক্স সম্পর্কে কিছু প্রাথমিক ব্যাখ্যা দেওয়া আছে:

একটি বিভ্রান্তির ম্যাট্রিক্স 2 টিরও বেশি শ্রেণি থাকা অবস্থায় সত্য ধনাত্মক, সত্য নেতিবাচক, মিথ্যা ধনাত্মক এবং মিথ্যা নেতিবাচক শ্রেণিবদ্ধ করার একটি উপায়। এটি নির্ভুলতা এবং পুনরায় কল করার জন্য এবং তাই বহু শ্রেণীর সমস্যার জন্য f1-স্কোরের জন্য ব্যবহৃত হয় used

আসল মানগুলি কলাম দ্বারা প্রতিনিধিত্ব করা হয়। পূর্বাভাসিত মানগুলি সারি দ্বারা প্রতিনিধিত্ব করা হয়।

উদাহরণ:

10 টি প্রশিক্ষণ উদাহরণ যা 8 টি,
প্রকৃতপক্ষে 4 টি হিসাবে 13 টি প্রশিক্ষণ উদাহরণ হিসাবে ভুলভাবে শ্রেণিবদ্ধ (পূর্বাভাস) করা হয়েছে 9 হিসাবে ভুল হিসাবে শ্রেণিবদ্ধ করা হয়েছে

কনফিউশন ম্যাট্রিক্স

সেমি =
     0 1 2 3 4 5 6 7 8 9 10
     1 298 2 1 0 1 1 3 1 1 0
     2 0 293 7 4 1 0 5 2 0 0
     3 1 3 263 0 8 0 0 3 0 2
     4 1 5 0 261 4 0 3 2 0 1
     5 0 0 10 0 254 3 0 10 2 1
     6 0 4 1 1 4 300 0 1 0 0
     7 1 3 2 0 0 0 264 0 7 1
     8 3 5 3 1 7 1 0 289 1 0
     9 0 1 3 13 1 0 11 1 289 0
    10 0 6 0 1 6 1 2 1 4 304

দশম শ্রেণির জন্য:

  • সত্য ধনাত্মক: তির্যক অবস্থান, সেন্টিমিটার (এক্স, এক্স)।

  • মিথ্যা ধনাত্মক: কলামের যোগফল (প্রধান তির্যক ছাড়া), যোগফল (সেমি (:, এক্স)) - সেমি (এক্স, এক্স)।

  • মিথ্যা নেতিবাচক: সারির x এর যোগফল (প্রধান তির্যক ছাড়া), যোগফল (সেমি (x, :), 2)-সেমি (এক্স, এক্স)।

আপনি নির্ভুলতা গণনা করতে পারেন, কোর্সের সূত্র অনুসরণ করে পুনরায় কল এবং এফ 1 স্কোর।

সমস্ত ক্লাসের ওভারেজ (ওজন সহ বা ছাড়াই) পুরো মডেলের মান দেয়।


2
আপনি আপনার অক্ষগুলি উল্টানো আছে। আপনি যা লিখেছেন তার ভিত্তিতে, আপনার মুখ্যমন্ত্রীকে স্থানান্তর করা উচিত।
স্পেসি

@ তারানতুলা কেন আপনি এমনটি ভাবেন? আমার মনে হয় সে সঠিক।
শাহেনশা

@ শাহেনশা এটি একটি কলামের জন্য চেষ্টা করে দেখুন, এটি ভুল।
স্পেসি

1
Coursera থ্রেডের লিঙ্কটি নষ্ট হয়েছে
শার্ক

8
আমি বিশ্বাস করি না যে এই উত্তরটি বহুমুখী সমস্যা পরিচালনা করে। এটি বহু শ্রেণীর সমস্যার ক্ষেত্রে প্রযোজ্য। বহুমুখী সমস্যার ক্ষেত্রে মিথ্যা ইতিবাচক বা মিথ্যা নেতিবাচক ধারণাটি কী?
ব্যবহারকারী 798719

13

মাল্টি-লেবেল শ্রেণিবিন্যাসের জন্য আপনার দুটি উপায় যেতে হবে প্রথমে নিম্নলিখিতটি বিবেচনা করুন।

  • n
  • Yiith
  • xiith
  • h(xi)ith

উদাহরণ ভিত্তিক

মেট্রিকগুলি প্রতি ডেটাপয়েন্ট পন্থায় গণনা করা হয়। প্রতিটি পূর্বাভাসীকৃত লেবেলের জন্য এর কেবলমাত্র তার স্কোর গণনা করা হয় এবং তারপরে এই স্কোরগুলি সমস্ত ডেটাপয়েন্টগুলিতে একত্রিত হয়।

  • 1ni=1n|Yih(xi)||h(xi)|
  • 1ni=1n|Yih(xi)||Yi|

পাশাপাশি অন্যান্য মেট্রিক রয়েছে।

লেবেল ভিত্তিক

এখানে জিনিসগুলি লেবেল অনুসারে সম্পন্ন হয়েছে। প্রতিটি লেবেলের জন্য মেট্রিকগুলি (যেমন: যথার্থতা, পুনর্বিবেচনা) গণনা করা হয় এবং তারপরে এই লেবেল-ভিত্তিক মেট্রিকগুলি একত্রিত করা হয়। সুতরাং, এক্ষেত্রে আপনি বাইনারি শ্রেণিবদ্ধকরণের জন্য (যেমন প্রতিটি লেবেলের বাইনারি অ্যাসাইনমেন্ট রয়েছে) পুরো ডেটাसेटের উপরে প্রতিটি লেবেলের জন্য যথাযথতা / পুনরুদ্ধার গণনা শেষ করবেন, তারপরে এটি একত্র করুন।

সহজ উপায়টি হ'ল সাধারণ ফর্মটি উপস্থাপন করা।

এটি স্ট্যান্ডার্ড মাল্টি-ক্লাস সমতুল্য মাত্র একটি এক্সটেনশন।

  • 1qj=1qB(TPj,FPj,TNj,FNj)

  • B(j=1qTPj,j=1qFPj,j=1qTNj,j=1qFNj)

TPj,FPj,TNj,FNjjth

B

আপনি মাল্টি-লেবেল মেট্রিকগুলির কোডটি সন্ধান করতে আগ্রহী হতে পারেন এখানে , যা প্যাকেজের একটি অংশ mldr মধ্যে আর । এছাড়াও আপনি জাভা মাল্টি-লেবেল লাইব্রেরি MULAN সন্ধান করতে আগ্রহী হতে পারেন ।

এটি বিভিন্ন মেট্রিকগুলিতে প্রবেশ করার জন্য একটি দুর্দান্ত কাগজ: মাল্টি-লেবেল লার্নিং অ্যালগরিদম সম্পর্কিত একটি পর্যালোচনা


ভাল হত যদি আপনি কিছু উইকিপিডিয়া রেফারেন্সের মতো যে মেট্রিকগুলি লিখেছেন তার সত্যতা সম্পর্কিত রেফারেন্স দিতে পারতেন। আপনি উল্লেখ করেছেন যে উল্লেখগুলি
হ'ল

2
একটি পর্যালোচনা কাগজ ইতিমধ্যে উত্তরের (মাল্টি-লেবেল লার্নিং অ্যালগরিদমের উপর একটি পর্যালোচনা) অর্থাত্ত eexplore.ieee.org/docament/6471714 লিঙ্কযুক্ত । এগুলি বাস্তবায়নের ভিত্তিতে সাহিত্যের সুপরিচিত মেট্রিক। আমি কীভাবে সত্যতা প্রদর্শন করতে পারি তা নিশ্চিত নই।
ফক্সিস

8

আমি মাল্টি-লেবেল অংশটি সম্পর্কে জানি না তবে মুতলি-শ্রেণির শ্রেণিবিন্যাসের জন্য সেই লিঙ্কগুলি আপনাকে সহায়তা করবে

এই লিঙ্কটি ব্যাখ্যা করে যে কীভাবে বিভ্রান্তির ম্যাট্রিক্স তৈরি করা যায় যা আপনি নির্ভুলতা গণনা করতে এবং প্রতিটি বিভাগের জন্য প্রত্যাহার করতে পারেন

এবং এই লিঙ্কটি ব্যাখ্যা করে কীভাবে সামগ্রিকভাবে শ্রেণিবদ্ধের মূল্যায়ন করতে মাইক্রো- f1 এবং ম্যাক্রো-এফ 1 পদক্ষেপ গণনা করতে হয়।

আশা করি আপনি এটি দরকারী খুঁজে পেয়েছেন।


4
মূল বিষয়টি হ'ল: এই মেট্রিকগুলি গণনা করার একাধিক সম্ভাব্য বৈধ উপায় রয়েছে (যেমন, মাইক্রো-এফ 1 বনাম ম্যাক্রো-এফ 1) কারণ সঠিকটি নির্ধারণ করার একাধিক উপায় রয়েছে। এটি আপনার প্রয়োগ এবং বৈধতার মানদণ্ডের উপর নির্ভর করে।
জ্যাক ট্যানার

আহমেদ: লিঙ্কগুলির জন্য ধন্যবাদ! @ জ্যাকট্যানার আপনার কি সম্ভবত এর জন্য একটি রেফারেন্স (মাল্টি-ক্লাস মাল্টি-লেবেল শ্রেণিবিন্যাসের ক্ষেত্রে) পেতে পারেন?
ভাম

1
@ মাভে, দুঃখিত, কোনও লিঙ্ক নেই। এটি কেবল ব্যক্তিগত অভিজ্ঞতা থেকে। আপনার উদ্দেশ্যগুলির জন্য সত্যিকারের ইতিবাচক এবং একটি মিথ্যা ইতিবাচক কী গঠন করে তা ভেবেই আপনি সেখানে পৌঁছে যাবেন।
জ্যাক ট্যানার

4
প্রথম লিঙ্কটি মারা গেল
নিকানা রেকলাভিক্স 3'13

1

এই লিঙ্কটি আমাকে সাহায্য করেছে .. https://www.youtube.com/watch?v=HBi-P5j0Kec আমি আশা করছি এটি আপনাকেও সহায়তা করবে

নীচে হিসাবে বিতরণ বলুন

    A   B   C   D
A   100 80  10  10
B   0    9   0   1
C   0    1   8   1
D   0    1   0   9

এ জন্য নির্ভুলতা হবে

পি (এ) = 100/100 + 0 + 0 +0 = 100

পি (বি) = 9/9 + 80 + 1 + 1 = 9/91 পিএসএস ... মূলত ক্লাসের আসল ইতিবাচক গ্রহণ করুন এবং কলামের ডেটা দিয়ে সারিগুলিতে ভাগ করুন

একটি জন্য মনে রাখবেন

আর (এ) = 100 / 100+ 80 + 10 + 10 = 0.5

আর (বি) = 9 / 9+ 0 + 0 + 1 = 0.9

psst ... মূলত শ্রেণীর আসল ইতিবাচক গ্রহণ করুন এবং কলামগুলিতে সারি ডেটা দ্বারা ভাগ করুন

একবার আপনি সমস্ত মান পেতে, ম্যাক্রো গড় নিতে

গড় (পি) = পি (এ) + পি (বি) + পি (সি) + পি (ডি) / ৪

গড় (আর) = আর (এ) + আর (বি) + আর (সি) + আর (ডি) / ৪

F1 = 2 * গড় (পি) * গড় (আর) / গড় (পি) + গড় (আর)


0

হার্ভার্ডে cs205.org থেকে এই স্লাইডগুলি দেখুন । ত্রুটি ব্যবস্থাপনার বিভাগটি একবার পেয়ে গেলে, বহু-শ্রেণীর সেটিংসে (যেমন, এক-বনাম-সমস্ত বা এক-বনাম-ওয়ান) এবং বিভ্রান্তির ম্যাট্রিকগুলিতে যথার্থতা এবং পুনরায় কল করার আলোচনা হয় discussion কনফিউশন ম্যাট্রিক্স যা আপনি এখানে সত্যই চান।

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


4
দুর্ভাগ্যক্রমে স্লাইডগুলির লিঙ্কটি মারা গেছে এবং আমি স্লাইডগুলি অন্য কোথাও খুঁজে পেতে পারি।
f3lix

তারা এই বছরের কোর্সে সেই বক্তৃতাটি পেয়ে গেলে তা পূরণ হবে। যদি আমি স্থায়ী লিঙ্কের স্থানে পিডিএফটি অনুলিপি করতে পারি, তবে আমি পারব না, তবে এটি পর্যায়ক্রমে বিরতি অনিবার্য এবং নোটগুলি সন্ধান করার মতো অন্য কোনও জায়গা থাকবে না, তারা সেই কোর্সে নির্দিষ্ট।
ely 5'12

স্ক্লেয়ারন বিভ্রান্তির জন্য মাল্টি-লেবেল সমর্থন করে না github.com/scikit-learn/scikit-learn/issues/3452
ফ্রাঙ্ক ডারননকোর্ট

0

ওজগুর এট আল (২০০৫) থেকে এটি দেখতে পাওয়া যায় যে আপনার স্বাভাবিক অভিব্যক্তিগুলি অনুসরণ করে যথার্থতা গণনা করা উচিত এবং পুনরুদ্ধার করা উচিত তবে আপনার ডেটাসেটে মোট এন উদাহরণগুলির চেয়ে বেশি গড়ের পরিবর্তে আপনার এন = ব্যবহার করতে হবে [কমপক্ষে একটি লেবেল সহ উদাহরণস্বরূপ প্রশ্নে নিয়োগ ক্লাস]।

এখানে উল্লিখিত রেফারেন্সটি রয়েছে: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.104.8244&rep=rep1&type=pdf


0

ঠিক একইভাবে আপনি সেটগুলি সহ সাধারণ কেসটি করবেন:

http://en.wikipedia.org/wiki/F1_score

http://en.wikipedia.org/wiki/Precision_and_recall

এখানে পাইথন ফাংশনগুলি যা সঠিকভাবে এটি করে:

def precision(y_true, y_pred):
    i = set(y_true).intersection(y_pred)
    len1 = len(y_pred)
    if len1 == 0:
        return 0
    else:
        return len(i) / len1


def recall(y_true, y_pred):
    i = set(y_true).intersection(y_pred)
    return len(i) / len(y_true)


def f1(y_true, y_pred):
    p = precision(y_true, y_pred)
    r = recall(y_true, y_pred)
    if p + r == 0:
        return 0
    else:
        return 2 * (p * r) / (p + r)


if __name__ == '__main__':
    print(f1(['A', 'B', 'C'], ['A', 'B']))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.