जवाबों:
यदि आप सटीक (उर्फ सकारात्मक भविष्य कहनेवाला मूल्य पीपीवी) और याद (उर्फ संवेदनशीलता) की परिभाषाओं को याद करते हैं, तो आप देखते हैं कि वे किसी भी अन्य वर्गों से स्वतंत्र एक वर्ग से संबंधित हैं:
याद या senstitivity मामलों को सही ढंग से वर्ग से संबंधित के रूप में पहचान का अनुपात है ग सभी मामलों है कि वास्तव में वर्ग के हैं के बीच सी ।
(यह देखते हुए कि हमारे पास वास्तव में " सी " से संबंधित मामला है, इसको सही ढंग से भविष्यवाणी करने की संभावना क्या है?)
सटीक या सकारात्मक भविष्य कहनेवाला मूल्य पीपीवी उन मामलों के अनुपात को सही ढंग से पहचाना जाता है, जो क्लास सी से संबंधित हैं , जिनमें से क्लासिफायर का दावा है कि वे क्लास सी से संबंधित हैं ।
दूसरे शब्दों में, उन मामलों में वर्ग c से संबंधित होने की भविष्यवाणी की गई , जो अंश वास्तव में वर्ग c से संबंधित है ? (भविष्यवाणी " ग " को देखते हुए , सही होने की संभावना क्या है?)
उन मामलों के नकारात्मक भविष्य कहनेवाला मूल्य NPV का अनुमान है कि वर्ग c से संबंधित नहीं हैं , जो अंश वास्तव में वर्ग c से संबंधित नहीं हैं ? (भविष्यवाणी " सी नहीं" को देखते हुए , सही होने की संभावना क्या है?)
तो आप अपने प्रत्येक वर्ग के लिए सटीक गणना कर सकते हैं और याद कर सकते हैं। बहु-श्रेणी भ्रम तालिकाओं के लिए, क्रमशः उनकी पंक्ति और स्तंभ रकम द्वारा विभाजित विकर्ण तत्व हैं:
डेटा को जबरन पसंद करने (वर्गीकरण) में कमी करने और यह रिकॉर्ड करने से कि क्या कोई "करीबी कॉल" नहीं था, आप गुप्त रूप से एक अजीब उपयोगिता / हानि / लागत समारोह के अलावा न्यूनतम-सूचना न्यूनतम-सटीक सांख्यिकीय अनुमान प्राप्त करते हैं और मनमाने थ्रेसहोल्ड का उपयोग करते हैं। । अधिक से अधिक जानकारी का उपयोग करना बेहतर होगा, जिसमें वर्ग सदस्यता की संभावनाएं शामिल होंगी और मजबूर विकल्प नहीं।
सबसे आसान तरीका यह है कि आप confusion_matrix का उपयोग बिल्कुल न करें, वर्गीकरण वर्गीकरण का उपयोग करें (), यह आपको वह सब कुछ देगा जो आपको कभी चाहिए, चीयर्स ...
संपादित करें:
यह confusion_matrix () के लिए प्रारूप है:
[[टीपी, एफएन]
[एफपी, टीएन]]
और वर्गीकरण रिपोर्ट यह सब बताती है
यदि आप केवल परिणाम चाहते हैं, तो मेरी सलाह यह होगी कि आप अपने निपटान में उपकरणों के बारे में बहुत अधिक न सोचें और उनका उपयोग करें। यहाँ आप इसे पायथन में कैसे कर सकते हैं;
import pandas as pd
from sklearn.metrics import classification_report
results = pd.DataFrame(
[[1, 1],
[1, 2],
[1, 3],
[2, 1],
[2, 2],
[2, 3],
[3, 1],
[3, 2],
[3, 3]], columns=['Expected', 'Predicted'])
print(results)
print()
print(classification_report(results['Expected'], results['Predicted']))
निम्न आउटपुट प्राप्त करने के लिए
Expected Predicted
0 1 1
1 1 2
2 1 3
3 2 1
4 2 2
5 2 3
6 3 1
7 3 2
8 3 3
precision recall f1-score support
1 0.33 0.33 0.33 3
2 0.33 0.33 0.33 3
3 0.33 0.33 0.33 3
avg / total 0.33 0.33 0.33 9
निम्नलिखित एक बहु-श्रेणी भ्रम मैट्रिक्स का एक उदाहरण है, जो मानता है कि हमारे वर्ग लेबल ए, बी और सी हैं
ए / पी ए बी सी सी सम
ए १० ३ ४
१ 12 बी २२ ६ २०
सी ६ ३ ३ ९ १ C
सम १ Sum १ 55 १ ९ ५५
अब हम प्रेसिजन और रिकॉल के लिए तीन मानों की गणना करते हैं और उन्हें पा, पीबी और पीसी कहते हैं; और इसी तरह रा, आरबी, आरसी।
हम प्रेसिजन = टीपी / (टीपी + एफपी) को जानते हैं, इसलिए पीए पॉजिटिव के लिए ए में वास्तविक ए की भविष्यवाणी की जाएगी, यानी, उस कॉलम में बाकी दो सेल, चाहे वह बी हो या सी, फाल्स पॉजिटिव बना सकते हैं। इसलिए
पा = 10/18 = 0.55 रा = 10/17 = 0.59
अब क्लास बी के लिए सटीक और रिकॉल Pb और Rb हैं। कक्षा बी के लिए, वास्तविक सकारात्मक बी के रूप में वास्तविक बी की भविष्यवाणी की जाती है, वह सेल है जिसमें मान 12 होता है और बाकी दो सेल उस कॉलम में फाल्स पॉजिटिव बनाते हैं, इसलिए
Pb = 12/18 = 0.67 Rb = 12/20 = 0.6
इसी प्रकार Pc = 9/19 = 0.47 Rc = 9/18 = 0.5
क्लासिफायरियर का समग्र प्रदर्शन औसत परिशुद्धता और औसत रिकॉल द्वारा निर्धारित किया जाएगा। इसके लिए हम प्रत्येक वर्ग के लिए सटीक मान को उस वर्ग के वास्तविक उदाहरणों के साथ गुणा करते हैं, फिर उन्हें जोड़ते हैं और उन्हें कुल संख्याओं के साथ विभाजित करते हैं। पसंद ,
औसत परिशुद्धता = (0.55 * 17 + 0.67 * 20 + 0.47 * 18) / 55 = 31.21 / 55 = 0.57 औसत याद = (0.59 * 17 + 0.6 * 20 + 0.5 * 18) / 55 = 31.03 / 55 / 0.56
मुझे उम्मीद है यह मदद करेगा