2010-09-06 17 views
5

मैं वर्गीकरण (वीका) के लिए NaiveBayes/सरल वर्गीकरण का उपयोग करना शुरू करता हूं, हालांकि मुझे डेटा प्रशिक्षण करते समय समझने में कुछ समस्याएं हैं। मैं जिस डेटा सेट का उपयोग कर रहा हूं वह मौसम है। Nominal.arff।बेवकूफ बेयस के परिणाम

alt text

मैं विकल्पों में से उपयोग प्रशिक्षण परीक्षण का उपयोग करते हैं, वर्गीकारक परिणाम है:

Correctly Classified Instances 13 - 92.8571 %  
Incorrectly Classified Instances 1 - 7.1429 % 

a b classified as 
9 0 a =yes 
1 4 b = no 

मेरा पहला सवाल मैं गलत वर्गीकृत उदाहरणों से क्या समझना चाहिए? ऐसी समस्या क्यों हुई? कौन सा गुण संग्रह वर्गीकृत गलत है? क्या यह समझने का कोई तरीका है?

दूसरा, जब मैं 10 गुना क्रॉस सत्यापन का प्रयास करता हूं, तो मुझे अलग-अलग (कम) सही ढंग से वर्गीकृत उदाहरण क्यों मिलते हैं?

परिणाम हैं:

Correctly Classified Instances   8    57.1429 % 
Incorrectly Classified Instances   6    42.8571 % 

a b <-- classified as 
7 2 | a = yes 
4 1 | b = no 

उत्तर

8

आप से इस विकल्प को चुनने से प्रत्येक उदाहरण के लिए अलग-अलग पूर्वानुमान प्राप्त कर सकते हैं:

अधिक विकल्प ...> आउटपुट भविष्यवाणियों> प्लेन

जो आपको मूल्यांकन मीट्रिक के अतिरिक्त देगा, निम्नलिखित:

=== Predictions on training set === 

inst#  actual predicted error prediction 
    1  2:no  2:no  0.704 
    2  2:no  2:no  0.847 
    3  1:yes  1:yes  0.737 
    4  1:yes  1:yes  0.554 
    5  1:yes  1:yes  0.867 
    6  2:no  1:yes + 0.737 
    7  1:yes  1:yes  0.913 
    8  2:no  2:no  0.588 
    9  1:yes  1:yes  0.786 
    10  1:yes  1:yes  0.845 
    11  1:yes  1:yes  0.568 
    12  1:yes  1:yes  0.667 
    13  1:yes  1:yes  0.925 
    14  2:no  2:no  0.652 

जो इंगित करता है कि 6 वें उदाहरण गलत वर्गीकृत किए गए थे। ध्यान दें कि भले ही आप उसी उदाहरण पर ट्रेन और परीक्षण करते हैं, डेटा में असंगतताओं के कारण गलत वर्गीकरण हो सकते हैं (सबसे सरल उदाहरण में एक ही विशेषताओं के साथ दो उदाहरण हैं लेकिन विभिन्न वर्ग लेबल के साथ)।

ध्यान रखें कि परीक्षण का उपरोक्त तरीका पूर्वाग्रह है (यह कुछ हद तक धोखा दे रहा है क्योंकि यह प्रश्नों के उत्तर देख सकता है)। इस प्रकार हम आमतौर पर अदृश्य डेटा पर मॉडल त्रुटि का एक और यथार्थवादी अनुमान प्राप्त करने में रुचि रखते हैं। Cross-validation ऐसी एक तकनीक है, जहां यह डेटा को 10 स्ट्रैटिफाइड फोल्ड में विभाजित करता है, एक गुना पर परीक्षण कर रहा है, जबकि दूसरे नौ पर प्रशिक्षण, अंततः यह दस रनों में औसत सटीकता की रिपोर्ट करता है।

+0

स्पष्ट उत्तर और वीका टिप + 1 के लिए धन्यवाद। भ्रमित बिंदु पक्षपाती है, तुम्हारा क्या मतलब है? क्या मुझे हमेशा अपने सभी वर्गीकरण एल्गोरिदम के लिए क्रॉस सत्यापन का उपयोग करना चाहिए? – berkay

+4

इसके बारे में सोचें, आप एक बेवकूफ बेयस नेट सीखना चाहते हैं जो आपके डेटा को मॉडल करता है, फिर आप इसकी भविष्यवाणी सटीकता का परीक्षण करना चाहते हैं। यदि आप मॉडल को प्रशिक्षित करते हैं और उदाहरणों के उसी सेट पर इसका परीक्षण करते हैं, तो आप इसकी सटीकता को अधिक महत्व दे रहे हैं (इसने उन विशेष उदाहरणों को इस प्रकार अच्छा प्रदर्शन किया है), लेकिन शायद नए डेटा पर कम सफल होंगे। यहां मुख्य बिंदु ** सामान्यीकरण ** है: हम नए अदृश्य उदाहरणों में "प्रशिक्षण समय" पर उपलब्ध कराए गए उदाहरणों से परे सामान्यीकृत करना चाहते हैं। – Amro

+0

स्पष्ट उत्तरों के लिए एमरो धन्यवाद। मैं क्रॉस सत्यापन परिणामों की याद और सटीकता के सवाल पूछने के लिए यहां पोस्ट कर रहा हूं। याद रखें (7/(2 + 7)) = 0778 और परिशुद्धता (1/(1 + 4)) = 0.2 है, हालांकि वेंका सटीक = 0.636 के लिए कहती है? इस बारे में कोई विचार है? – berkay

संबंधित मुद्दे