मैं एक पर्यवेक्षित मशीन सीखने के वर्गीकरण एल्गोरिदम के प्रदर्शन का आकलन करने की कोशिश कर रहा हूं। अवलोकन नाममात्र कक्षाओं में आते हैं (समय के लिए 2, हालांकि मैं 99 विषयों की आबादी से खींची गई बहु-वर्ग समस्याओं के लिए इसे सामान्य बनाना चाहूंगा)।
यदि एल्गोरिथ्म इनपुट कक्षाओं के बीच वर्गीकरण सटीकता में महत्वपूर्ण अंतर प्रदर्शित करता है, तो मैं जिन प्रश्नों का उत्तर देना चाहूंगा, उनमें से एक है। द्विआधारी वर्गीकरण मामले के लिए मैं युग्मित विल्कोक्सॉन परीक्षण (अंतर्निहित वितरण गैर-सामान्य है) का उपयोग करके विषयों के बीच कक्षाओं के बीच औसत सटीकता की तुलना कर रहा हूं । बहु-वर्ग की समस्याओं के लिए इस प्रक्रिया को सामान्य करने के लिए मैंने एक फ्रीडमैन परीक्षण का उपयोग करने का इरादा किया ।
हालांकि, द्विआधारी IV के मामले में उन दो प्रक्रियाओं द्वारा प्राप्त पी वैल्यू बेतहाशा अलग-अलग होते हैं, विल्डकोन टेस्ट उपज के साथ p < .001
जबकि p = .25
फ्राइडमैन टेस्ट के लिए। यह मुझे विश्वास दिलाता है कि मुझे फ्रीडमैन परीक्षण की संरचना की एक बुनियादी गलतफहमी है।
क्या सभी मामलों में सटीकता के दोहराया उपायों के परिणाम की तुलना करने के लिए इस मामले में फ्राइडमैन परीक्षण का उपयोग करना उचित नहीं है?
उन परिणामों को प्राप्त करने के लिए मेरा आर कोड ( subject
विषय पहचानकर्ता, acc
सटीकता डीवी और expected
अवलोकन वर्ग IV है):
> head(subject.accuracy, n=10)
subject expected acc
1 10 none 0.97826087
2 10 high 0.55319149
3 101 none 1.00000000
4 101 high 0.68085106
5 103 none 0.97826087
6 103 high 1.00000000
7 104 none 1.00000000
8 104 high 0.08510638
9 105 none 0.95121951
10 105 high 1.00000000
> ddply(subject.accuracy, .(expected), summarise, mean.acc = mean(acc), se.acc = sd(acc)/sqrt(length(acc)))
expected mean.acc se.acc
1 none 0.9750619 0.00317064
2 high 0.7571259 0.03491149
> wilcox.test(acc ~ expected, subject.accuracy, paired=T)
Wilcoxon signed rank test with continuity correction
data: acc by expected
V = 3125.5, p-value = 0.0003101
alternative hypothesis: true location shift is not equal to 0
> friedman.test(acc ~ expected | subject, subject.accuracy)
Friedman rank sum test
data: acc and expected and subject
Friedman chi-squared = 1.3011, df = 1, p-value = 0.254
wilcox.test
एक हस्ताक्षरित रैंक परीक्षण करने के लिए दो स्थितियों के तहत सटीकता की तुलना करता है, क्योंकि आप इसे युग्मन चर कभी नहीं बताते हैं। बहुत कम से कम यह परीक्षण चलाने का एक असुरक्षित तरीका है, क्योंकि यह इनपुट डेटा में पंक्तियों के क्रम पर निर्भर करता है।