मैं आपको उस प्रक्रिया का उपयोग करने की सलाह नहीं दूंगा। मेरी सिफारिश है: इस परियोजना को छोड़ दें। बस, छोड़ देना और चलना। आपको इस काम की कोई उम्मीद नहीं है।
छवि के लिए स्रोत
मानक समस्याओं को स्टेपवाइज सिलेक्शन (cf., here ) के साथ सेट करना , आपके मामले में आपको इस तरह के उच्च-आयामी स्थान में अलग होने के कारण एकदम सही भविष्यवाणियां करने की संभावना है।
मेरे पास आपकी स्थिति पर कोई विवरण नहीं है, लेकिन आप कहते हैं कि आपके पास "केवल 10s के नमूने" हैं। चलो धर्मार्थ बनें और कहें कि आपके पास 90 हैं। आप आगे कहते हैं कि आपके पास "कई हजार सुविधाएँ" हैं। आइए कल्पना करें कि आपके पास 'केवल' 2,000 है। सरलता के लिए, मान लें कि आपकी सभी सुविधाएँ बाइनरी हैं। आप "यह मानते हैं कि क्लास लेबल को केवल कुछ विशेषताओं का उपयोग करके सटीक रूप से भविष्यवाणी की जा सकती है", मान लीजिए कि आप अधिकतम 9 सुविधाओं के सेट की तलाश करेंगे। अंत में, आइए कल्पना करें कि संबंध निर्धारक है, जिससे कि सच्चा संबंध आपके डेटा में हमेशा मौजूद रहेगा। (हम इन संख्याओं और मान्यताओं को बदल सकते हैं, लेकिन यह केवल समस्या को बदतर बना सकती है।) अब, आप इन (उदार) परिस्थितियों में उस रिश्ते को कितनी अच्छी तरह से ठीक कर पाएंगे? यही है, कितनी बार सही सेट एकमात्र सेट होगा जो सही सटीकता देता है? या, एक और तरीका है, नौ सुविधाओं के कितने सेट भी अकेले संयोग से फिट होंगे?
कुछ (अति) सरल गणित और सिमुलेशन को इस प्रश्न के कुछ सुराग प्रदान करने चाहिए। सबसे पहले, 9 चर के साथ, जिनमें से प्रत्येक 0 या 1 हो सकता है, एक अवलोकन दिखाने वाले पैटर्न की संख्या हो सकती है , लेकिन आपके पास केवल 90 अवलोकन होंगे। इस प्रकार यह पूरी तरह से संभव है कि, 9 बाइनरी वैरिएबल्स के दिए गए सेट के लिए, हर अवलोकन में भविष्यवाणियों के मूल्यों का एक अलग सेट है - कोई प्रतिकृति नहीं है। समान भविष्यवक्ता मूल्यों के साथ प्रतिकृति के बिना जहां कुछ में y = 0 और कुछ y = 1 है, आपके पास पूर्ण पृथक्करण होगा और हर अवलोकन का सही पूर्वानुमान संभव होगा। 29=512
नीचे, मेरे पास एक सिमुलेशन (आर में कोडित) है यह देखने के लिए कि आपके पास 0 और 1s दोनों के साथ कितनी बार x-मानों का कोई पैटर्न नहीं हो सकता है। जिस तरह से यह काम करता है वह यह है कि मुझे 1 से 512 तक संख्याओं का एक सेट मिलता है, जो संभावित पैटर्न का प्रतिनिधित्व करता है, और देखें कि क्या पहले 45 में कोई भी पैटर्न (जो 0 हो सकता है) दूसरे 45 में किसी भी पैटर्न से मेल खाता है। (यह 1s हो सकता है)। यह मानता है कि आपके पास पूरी तरह से संतुलित प्रतिक्रिया डेटा है, जो आपको इस समस्या से सबसे अच्छा संभव संरक्षण देता है। ध्यान दें कि अलग-अलग y-मानों के साथ कुछ प्रतिकृति वाले एक्स-वैक्टर वास्तव में आपको जंगल से बाहर नहीं निकालते हैं, इसका मतलब है कि आप अपने डेटासेट में हर एक अवलोकन का पूरी तरह से अनुमान लगाने में सक्षम नहीं होंगे, जो कि बहुत कठोर मानक I है। यहाँ का उपयोग कर रहा हूँ।
set.seed(7938) # this makes the simulation exactly reproducible
my.fun = function(){
x = sample.int(512, size=90, replace=TRUE)
return(sum(x[1:45]%in%x[46:90])==0)
}
n.unique = replicate(10000, my.fun())
mean(n.unique) # [1] 0.0181
1991 choose 9=1.3×10241991/9≈221221×0.018≈4 9 एक्स-चर के सेट जो आपके डेटासेट में हर अवलोकन की पूरी तरह से भविष्यवाणी करेंगे।
ध्यान दें कि ये परिणाम केवल उन मामलों के लिए हैं जहां आपके पास अपेक्षाकृत बड़ा डेटासेट है ("दसियों के भीतर"), अपेक्षाकृत कम संख्या में चर ("हजारों" के भीतर), केवल उन मामलों की तलाश करते हैं जहां हर एक अवलोकन का पूरी तरह से अनुमान लगाया जा सकता है ( वहां होगा कई अधिक सेट है कि लगभग परिपूर्ण हैं), आदि आपका वास्तविक मामले बाहर काम करने के लिए 'यह अच्छी तरह से' संभावना नहीं है। इसके अलावा, हमने तय किया कि संबंध पूरी तरह से निर्धारक है। अगर रिश्ते में कुछ यादृच्छिक शोर है तो क्या होगा? उस स्थिति में, आपके पास अभी भी ~ 4 (अशक्त) सेट होंगे जो आपके डेटा की पूरी तरह से भविष्यवाणी करते हैं, लेकिन सही सेट उनके बीच अच्छी तरह से नहीं हो सकता है ।
Tl, डॉ , यहां मूल बिंदु यह है कि आपके चर का सेट बहुत बड़ा / उच्च आयामी है, और आपके डेटा की मात्रा बहुत छोटी है, कुछ भी संभव हो सकता है। यदि यह वास्तव में सच है कि आपके पास नमूनों के "दसियों", चर के "हजारों" और बिल्कुल कोई सांसारिक विचार नहीं है जो चर सही हो सकते हैं, तो आपको किसी भी प्रक्रिया के साथ कहीं भी होने की कोई उम्मीद नहीं है। जाओ अपने समय के साथ कुछ और करो।