होल्ड-आउट सेट बनाने के लिए और अधिक उपयुक्त तरीका क्या है: कुछ विषयों को हटाने के लिए या प्रत्येक विषय से कुछ टिप्पणियों को हटाने के लिए?


11

मेरे पास 26 विशेषताओं और 31000 पंक्तियों के साथ एक डेटासेट है। यह 38 विषयों का डेटासेट है। यह एक बायोमेट्रिक सिस्टम के लिए है। इसलिए मैं विषयों की पहचान करने में सक्षम होना चाहता हूं।

परीक्षण सेट होने के लिए, मुझे पता है कि मुझे कुछ मूल्यों को हटाना होगा।

तो क्या करना बेहतर है और क्यों?

  1. (ए) 30 विषयों को प्रशिक्षण सेट के रूप में रखें और परीक्षण सेट के रूप में testing विषयों को हटा दें

  2. (b) 38 विषय रखें, लेकिन हर एक की कुछ पंक्तियों को हटा दें। तो अंत में मैं एक प्रशिक्षण सेट के साथ समाप्त हो जाएगा: 38 विषयों की 24800 पंक्तियाँ और एक परीक्षण सेट: 38 विषयों की 6200 पंक्तियाँ


1
यदि आप विषयों की पहचान करना चाहते हैं, तो आप परीक्षण सेट के लिए संभवतः "संपूर्ण" विषयों को कैसे निकाल सकते हैं? 30 विषयों पर प्रशिक्षित मॉडल केवल इन 30 विषयों की पहचान करने में सक्षम होगा, न कि उन 8 विषयों पर जिन्होंने कभी नहीं देखा। "बायोमेट्रिक सिस्टम" के बारे में आपका स्पष्टीकरण सबसे मौजूदा जवाबों को गैर-मान्य कर सकता है।
अमीबा

1
यह स्पष्ट करने में मददगार होगा: (1) सटीक लक्ष्य, आप जो अनुमान लगाने की कोशिश कर रहे हैं उसका परिणाम चर क्या है (2) आपके पास कौन सा डेटा है और संभवतः (3) आप किस दृष्टिकोण का उपयोग करते हैं।
मैथ्यू गुन

एक बार जब आप सिस्टम को प्रशिक्षित कर लेते हैं, तो इसे कैसे तैनात किया जाएगा? क्या प्रशिक्षण सेट में लोगों पर इसका उपयोग करने का लक्ष्य नहीं है? क्या नए डेटा समान 38 विषयों में से होंगे? मैं यह समझने की कोशिश कर रहा हूं कि सिस्टम का उपयोग कैसे किया जाना चाहिए और क्या आप @ AmiTavory के उत्तर (1) या केस (2) में हैं।
मैथ्यू गन

@amoeba मैं बहुत अनुभवी नहीं हूं :( मैंने सवाल पूछा क्योंकि यह डेटा (प्रशिक्षण, सत्यापन और परीक्षण) को विभाजित करने के लिए अनुशंसित है। इसलिए यह या तो कुछ विषयों को हटाने या प्रत्येक के कुछ टिप्पणियों को हटाने या ऑनलाइन उपलब्ध एक डेटासेट का उपयोग करने के लिए है। 1) मैं विषयों की पहचान करने में सक्षम होना चाहता हूं। जिनके पास सुविधाएँ हैं। 2) मैं ईईजी (इसलिए समय-श्रृंखला) का उपयोग कर रहा हूं। 3) मैं स्तरीकृत-गुना का उपयोग कर रहा हूं। लेकिन यह इसलिए है क्योंकि मैं केफोल्ड की तुलना में इसके साथ एक उच्च सटीकता प्राप्त करता हूं। मैं केवल के-गुना, स्तरीकृत और छुट्टी-एक-आउट जानता था। जैसा कि मैंने हमेशा सोचा है कि डेटा में असंतुलन की भरपाई करना था। लेकिन मैं सुझाव के लिए खुला हूं।
--१६०

@MatthewGun मुझे लगता है कि यह उन लोगों के साथ उपयोग करना संभव नहीं होगा जो डेटासेट में नहीं हैं। यह बहुत मुश्किल है लेकिन अगर हासिल किया तो बहुत दिलचस्प होगा। तो मैं कहूंगा कि मामला 1.
एज़ोरैक

जवाबों:


9

मुझे लगता है कि मैथ्यू गन का जवाब सही है, लेकिन यह मुझे लगता है कि "रिकॉर्ड-वार" सीवी दो अलग-अलग अवधारणाओं को कवर कर सकता है:

  1. विषय या समय की परवाह किए बिना रिकॉर्ड्स को यादृच्छिक रूप से सिलवटों में विभाजित किया जाता है।

  2. रिकॉर्ड्स को समय-आधारित सिलवटों में विभाजित किया जाता है, जिसमें प्रशिक्षण के लिए उपयोग की जाने वाली कोई तह नहीं होती है जिसमें परीक्षण गुना की शुरुआत के बाद से डेटा होता है।

पहले मामले में, आपके डेटा की किसी भी समय-श्रृंखला प्रकृति से छेड़छाड़ की जा रही है, क्योंकि आपके प्रशिक्षण सेट में आपके परीक्षण सेट से पहले और बाद में दोनों डेटा शामिल हो सकते हैं। ट्रेन / टेस्ट का सिद्धांत यह है कि प्रशिक्षण डेटा वर्तमान में ज्ञात डेटा का प्रतिनिधित्व करता है, और टेस्ट डेटा अभी तक अनदेखी डेटा के रूप में प्रदर्शित होता है (संभवतः शाब्दिक रूप से भविष्य से)।

शायद समय श्रृंखला स्वतःसंबंध # 2 विकल्प से समझौता करता है। शायद मॉडल का समय तत्व वास्तव में महत्वपूर्ण नहीं है और इसलिए "अतीत" और "भविष्य" के अवलोकन समान होने की संभावना है। इन मामलों में, न तो # 1 या # 2 जाने का रास्ता है।

यदि केवल मौसमी और रुझान नहीं है, तो ऐसा लगता है कि नए विषयों की भविष्यवाणी करने के लिए कुछ विषयों के लिए प्रशिक्षण में "भविष्य" को शामिल करना ठीक है (जो एक ही मौसमी से प्रभावित होंगे)। यदि रुझान हैं, तो भविष्य में प्रशिक्षण से भविष्य के बारे में कुछ सीखना चाहिए जो आपको वास्तव में उत्पादन में मॉडल का उपयोग करते समय नहीं पता होगा।

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


1
+1 यह एक बहुत ही महत्वपूर्ण बिंदु है कि यदि समय श्रृंखला संरचना है, तो आपको अतीत की भविष्यवाणी करने के लिए भविष्य का उपयोग नहीं करना चाहिए! इस वित्त में एक आम और खतरनाक त्रुटि समय में जानकारी उपलब्ध नहीं है का उपयोग कर, (क्योंकि यह भविष्य तक ज्ञात नहीं है) रिटर्न, चूक, आदि भविष्यवाणी करने के लिए ... समय में । जटिल परियोजनाओं और डेटा के टन के साथ, गलतियों को करना बहुत आसान हो सकता है और अपने प्रशिक्षण एल्गोरिथ्म को भविष्य में प्रभावी ढंग से चरम पर ले जाने दें, जिससे वास्तविकता में परिणाम संभव नहीं हो सके। टीtt
मैथ्यू गुन

1
मैं कहूंगा कि एप्लिकेशन तय करता है कि एप्रोपेट विभाजन क्या है। उदाहरण के लिए, समय श्रृंखला के साथ, यह अज्ञात विषयों के बाद के मापों के लिए आश्रित चर की भविष्यवाणी करने का कार्य हो सकता है, जिसका अर्थ है कि विभाजन को विषय-वार और साथ ही समय-वार किया जाना चाहिए।
SX

3
@cbeleites: सहमत हुए। यह मैंने हाल ही में एक परियोजना पर किया था: डेटा को ट्रेन और परीक्षण विषयों में विभाजित करें, और केवल प्रशिक्षण के लिए पूर्व-कुछ-तारीख डेटा का उपयोग करें और परीक्षण के लिए तारीख डेटा, इसलिए हम उन विषयों पर परीक्षण कर रहे थे जो हम कभी नहीं करेंगे देखा, एक समय अवधि के दौरान हम अभी तक नहीं देखा था। आप अपने खिलाफ डेक को ढेर करना चाहते हैं - बिना जहाज पर जाने के - यदि आप वास्तव में जानना चाहते हैं कि आपका मॉडल व्यवहार में कितना अच्छा करेगा।
वेन

16

एक महत्वपूर्ण अंतर यह है कि क्या आप चाहते हैं:

  1. [सबसे आम मामला]: नए विषयों (आपके डेटा के समान जनसंख्या से खींचा गया) पर प्रदर्शन का अनुमान बनाएं।
  2. अपने नमूने में समान विषयों से नई टिप्पणियों पर प्रदर्शन का एक अनुमान बनाएं।

कहीं अधिक सामान्य मामला केस नंबर (1) है। जैसे।, आपातकालीन कक्ष में आने वाले किसी व्यक्ति के लिए आप दिल के दौरे की कितनी अच्छी भविष्यवाणी करते हैं? और अगर आप (1) के मामले में हैं, तो आपको लगभग (बी) रिकॉर्ड-वार क्रॉस-सत्यापन के बजाय (ए) विषय-वार क्रॉस-वैलिडेशन करना चाहिए। मामले में रिकॉर्ड-वार सत्यापन (1) होने की संभावना से अनुचित रूप से उच्च, नए विषयों पर प्रदर्शन का अनुमान कम हो जाएगा।

मुझे ठीक से समझ नहीं आ रहा है कि आप क्या करने की कोशिश कर रहे हैं (और शायद यह सेल्फ स्टडी है इसलिए सवाल पूरी तरह से यथार्थवादी नहीं है)। मुझे नहीं पता कि आप किस मामले में हैं। यदि आप बहुत कम सामान्य मामले (2) में हैं, तो रिकॉर्ड वार मान्यता ठीक हो सकती है।

आंकड़ों में एक सामान्य विषय यह है कि स्वतंत्र क्या है और सहसंबद्ध क्या है, इसके बारे में सावधानी से सोचें। आम तौर पर, एक स्वतंत्र अवलोकन एक अलग विषय बन जाता है। यदि आप नए विषयों पर प्रदर्शन की भविष्यवाणी करना चाहते हैं, तो आपको उन विषयों पर परीक्षण करना होगा जिन्हें आपने प्रशिक्षित नहीं किया था!

रिकॉर्ड-वार के बजाए विषयवार क्रॉस सत्यापन क्यों?

विशिष्ट सेटिंग्स में, एक ही व्यक्ति की बार-बार टिप्पणियों को सुविधाओं पर कंडीशनिंग के बाद भी एक दूसरे के साथ सहसंबद्ध किया जाता है। इसलिए रिकॉर्ड-वार क्रॉस-मान्यता के साथ, आपका परीक्षण सेट आपके प्रशिक्षण सेट से स्वतंत्र नहीं है ! पूर्ण सहसंबंध के चरम मामले में, आपको प्रशिक्षण सेट और परीक्षण सेट में सटीक समान अवलोकन होंगे! आप परीक्षण सेट पर प्रशिक्षण करेंगे! क्रॉस-वेलिडेशन में मापा गया प्रदर्शन नए विषयों पर प्रदर्शन का अनुमान नहीं होगा ।

उदाहरण के लिए, यह हालिया पेपर रिकॉर्ड-वार क्रॉस-वेलिडेशन कहता है, `` वूडू मशीन लर्निंग।

हालांकि कुछ विषयों के साथ क्या करना है ...

शायद कुछ टिप्पणीकारों ने मुझे क्राइम-इन-वेलिडेशन के साथ अनुभव किया, जो मेरे लिए चीम-इन कर सकते थे, लेकिन यह लिए एक संभावित उम्मीदवार की तरह दिखता है (उर्फ एक क्रॉस-वैलीडेशन छोड़ दें)?k=n

प्रशिक्षण के लिए डेटा को अधिकतम करने के लिए, आप जो कुछ कर सकते हैं, वह एक विषय को क्रॉस सत्यापन के लिए छोड़ दें। प्रत्येक पुनरावृत्ति, एक अलग पकड़-आउट विषय पर परीक्षण और अन्य सभी पर प्रशिक्षण।

यदि विषय सभी बहुत अलग हैं, तो आप प्रभावी रूप से करीब हो सकते हैं और प्रशिक्षण सेट में कई स्वतंत्र विषयों को रखना चाह सकते हैं।n=38


मुझे पता है कि डेटासेट को 3 में विभाजित किया जाना है: प्रशिक्षण, सत्यापन और परीक्षण। क्रॉस-मान्यता में "प्रशिक्षण और सत्यापन" का उपयोग किया जाता है। होल्ड आउट सेट "परीक्षण" है। तो क्या आप सुझाव दे रहे हैं: प्रशिक्षण और सत्यापन के लिए 37 विषयों का उपयोग करें और 1 विषय में परीक्षा दें? और यह कि मैं किसी भी प्रकार का क्रॉस-वेलिडेशन कर सकता हूं: k- गुना, स्तरीकृत, आदि।
Aizzaac

1
ओपी ने यह कहते हुए एक संपादन किया कि "यह एक बॉयोमीट्रिक प्रणाली के लिए है। इसलिए मैं विषयों की पहचान करने में सक्षम होना चाहता हूं"। अगर मैं सही तरीके से समझता हूं कि इसका क्या मतलब है, तो इसका मतलब है कि केवल रिकॉर्ड-वार सीवी ही समझ में आता है क्योंकि लक्ष्य एक नमूने के आधार पर विषय आईडी की भविष्यवाणी करना है।
अमीबा

@amoeba केवल अगर नया डेटा उन्हीं 38 विषयों से आएगा । उदाहरण के लिए। अगर सिस्टम को यह कहना है कि उंगलियों के निशान मेल खाते हैं या नहीं और यह मेरे घर के सामने वाले दरवाजे पर तैनात किया जाएगा (यानी अजनबियों के रूप में अजनबियों की पहचान करनी चाहिए), प्रशिक्षण और परीक्षण एक ही विषय में समस्याग्रस्त होगा (आप यह जानना चाहते हैं कि यह कितनी बार उन लोगों को प्रवेश देता है जो इससे पहले कभी नहीं देखे गए, कभी प्रशिक्षित नहीं हुए)। हालांकि मैं मानता हूं कि "यह एक बॉयोमीट्रिक प्रणाली के लिए है" सवाल उठाता है ...
मैथ्यू गन

3

यह वास्तव में इस बात पर निर्भर करता है कि आप ट्रेन / टेस्ट स्प्लिट के साथ किस तरह की सेटिंग में संशोधन करना चाहते हैं। चीजों को ठोस बनाने के लिए, प्रत्येक पंक्ति एक ही रात में किसी विषय की नींद की गुणवत्ता का वर्णन करती है।

  1. यह संभव है कि, भविष्य में, प्रत्येक विषय पहले एक नींद प्रयोगशाला में आएगा, और आपको कुछ रातों के लिए नींद की गुणवत्ता प्रदान करेगा। उसके बाद, आपको इन विषयों के लिए भविष्य की रातों की नींद की गुणवत्ता का अनुमान लगाने की आवश्यकता होगी । इस मामले में, आप अपने विकल्प का उपयोग करेंगे b)। में sklearn, आप उपयोग कर सकते हैंsklearn.model_selection.StratifiedShuffleSplit

  2. यह संभव है कि, भविष्य में, कुछ विषय पहले एक नींद प्रयोगशाला में आएंगे, और आपको कुछ रातों के लिए नींद की गुणवत्ता प्रदान करेंगे। उसके बाद, आप अन्य विषयों के लिए भविष्य की रातों की नींद की गुणवत्ता की भविष्यवाणी करने के लिए ned करेंगे । इस स्थिति में, आप अपने विकल्प का उपयोग करेंगे a)। में sklearn, आप उपयोग कर सकते हैंsklearn.cross_validation.LeavePLabelOut


1
वास्तविक रूप से, हालांकि, प्रश्न लगभग निश्चित रूप से आपका मामला (2) और विकल्प (ए), अर्थात विषय-वार क्रॉस-सत्यापन है, जो उचित है।
मैथ्यू गन

1
@MatthewGunn आप सही कह रहे हैं। केस 2 कहीं अधिक सामान्य है। मुझे कहना होगा कि मैं वास्तविक जीवन के मामलों में भाग ले चुका हूं जहां 1 सही विकल्प था।
बजे एमी टैवरी

1
दिलचस्प। मैं देख सकता था (1) कुछ बड़े, स्थापित ग्राहक आधारों के लिए नई टिप्पणियों की भविष्यवाणी करने के लिए सही है। मुद्दा लेना। शायद मैं इतनी दृढ़ता से प्रतिक्रिया कर रहा हूं क्योंकि मैंने हाल ही में चिकित्सा क्षेत्र में रिकॉर्ड-वार क्रॉस-सत्यापन के व्यापक दुरुपयोग पर इस पत्र को पढ़ा है।
मैथ्यू गन

आप इस बारे में क्या सोचते हैं: मैं किसी भी प्रकार के क्रॉस सत्यापन के साथ 38 विषयों का उपयोग करता हूं; और परीक्षण करने के लिए कि क्या मेरे मॉडल का उपयोग अलग-अलग विषय के साथ किया जा सकता है; मैं ऑनलाइन डेटासेट का उपयोग करता हूं? मुझे लगता है कि एक आयोजित आउट सेट का विचार मॉडल का परीक्षण करने के लिए एक "नया" डेटासेट है।
Aizzaac

3

में झंकार करने के लिए, मुझे लगता है कि आवेदन अज्ञात विषयों की भविष्यवाणी करने के लिए है। इसका मतलब है (इस बात की परवाह किए बिना कि क्या आपके पास समय श्रृंखला है या स्वाभाविक रूप से बार-बार अनपेक्षित माप हैं) कि बंटवारे की जरूरत है ताकि अज्ञात विषयों का परीक्षण किया जा सके => बंटवारे का)

यह मानते हुए कि आपके पास केवल 38 विषय हैं, आपको कुछ विचार को फिर से शुरू करने वाले सत्यापन में डाल देना चाहिए। मेरे अनुभव से इसी तरह के छोटे नमूना आकार (हालांकि अधिक विशेषताएं) के साथ काम करना, यहाँ संक्षेप में कुछ सिफारिशें दी गई हैं:

  • विषय-वार आउट-ऑफ-बूटस्ट्रैप या iterated क्रॉस सत्यापन के लिए जाएं। वे आपके मॉडल की स्थिरता का आकलन करने की अनुमति देते हैं जो छोटे नमूना आकार की समस्याओं में महत्वपूर्ण है। परिणाम भी एक अस्थिर मॉडल के लिए इस्तेमाल किया जा सकता है अगर अस्थिरता एक मुद्दा है।

  • करो नहीं छोड़-एक विषय-आउट करते हैं। यह न तो मॉडल स्थिरता को मापने की अनुमति देता है, न ही इसे कम करने की। इसके अलावा, ऐसी परिस्थितियां हैं जहां यह छोटे नमूने के आकार के कारण बड़े निराशावादी पूर्वाग्रह के अधीन है (जैसा कि अपेक्षित न्यूनतम निराशावादी पूर्वाग्रह के विपरीत है)।

  • यदि आप योग्यता के विशिष्ट वर्गीकरण के आंकड़े जैसे सटीकता, संवेदनशीलता, विशिष्टता इत्यादि का उपयोग कर रहे हैं और कार्य विषयों को सही ढंग से वर्गीकृत करना है: सावधान रहें कि महत्वपूर्ण समस्या प्रदर्शन को माप रही है क्योंकि परीक्षण के परिणाम की अनिश्चितता निरपेक्ष संख्या पर निर्भर करती है परीक्षण मामलों की। एक उदाहरण के रूप में, 17 में से 17 सही पूर्वानुमानों का अवलोकन करना वास्तव में सकारात्मक विषयों के बारे में 80% से 100% तक संवेदनशीलता के लिए 95% विश्वास अंतराल से मेल खाती है।
    दूसरे शब्दों में, आप उस पर आधारित डेटा-संचालित मॉडल अनुकूलन करने में सक्षम नहीं होंगे।

  • इसका मतलब यह भी है कि आपको तीन-सेट विभाजन (नेस्टेड क्रॉस सत्यापन) स्थापित करने की आवश्यकता नहीं है, क्योंकि आप सांख्यिकीय रूप से अर्थहीन तुलना पर संसाधनों को बर्बाद कर देंगे - आपका अनुकूलन लगभग विफल होने की गारंटी है (हालांकि आप ध्यान नहीं दे सकते हैं कि यदि आप स्थिरता के लिए जाँच न करें)।

  • प्रस्तावित 5 (3) परीक्षण / अनुकूलन / सत्यापन विषयों के लिए द्विपद विश्वास अंतराल के लिए एक ही गणना सभी सही के लिए 95% ci पैदावार 50% (30%) तक होती है, इसलिए सही परीक्षण परिणामों के आधार पर आपके आत्मविश्वास अंतराल में अभी भी 50 / शामिल होंगे 50 का अनुमान!

इन विषयों के बारे में हमने कुछ पत्र लिखे:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.