मेरे पास दो बाइनरी इमेज हैं (ब्लैक (0) और व्हाइट (255) एक ग्राउंड ट्रुथ इमेज है जबकि दूसरी न्यूरल नेटवर्क से अनुमानित इमेज है। मैंने दोनों के बीच सटीकता प्राप्त करने के लिए sklearn.metrics.precision_score() का उपयोग किया। छवियां। लेकिन डिफ़ॉल्ट रूप से यह काले पिक्सेल को 'सकारात्मक' लेबल के रूप में लेता है। सफेद पिक्सेल को 'सकारात्मक' लेबल के रूप में कैसे बदलें?

पूर्व (255 के रूप में 1):

सटीक = true_positive/(true_positive+false_positive)

ground_truth = [0,0,1,1,0,1,1,1,1,0]
predicted    = [1,1,1,0,0,0,1,0,1,0]

यदि 1 को धनात्मक मान के रूप में लिया जाता है,

 true_positive = 3
 fale_positive = 2
 fale_negative = 3
 true_negative = 2

 precision =3/(3+2)=0.6

यदि 0 को धनात्मक मान के रूप में लिया जाता है,

 true_positive = 2
 fale_positive = 3
 fale_negative = 2
 true_negative = 3

 precision =2/(2+3)=0.4

https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html#sklearn.metrics.precision_score

0
harinsamaranayake 6 पद 2019, 13:13

1 उत्तर

पहले भविष्यवाणी के तत्व को उलट दिया फिर ग्राउंड_ट्रुथ और प्रेडिक्टेड_इनवर्टेड के साथ सटीकता का पता लगाएं। आशा है कि यह मदद कर सकता है।

map_dict = {0:1,1:0}
predicted_inverted = list(map(lambda x: map_dict[x],predicted))
0
GIRISH kuniyal 6 पद 2019, 13:54