क्या बहु-रेखीय प्रतिगमन में सुविधा चयन के लिए एक यादृच्छिक वन का उपयोग किया जा सकता है?


50

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


@ user777 आपका मतलब है, आप "समझा" को "प्राप्त" या ऐसा कुछ पढ़ रहे हैं?
छायाकार

1
चूँकि यह प्रश्न पूछने की कोशिश कर रहा है कि क्या आप इस भ्रम को दूर करने के लिए इसे संपादित कर सकते हैं?
whuber

जवाबों:


71

चूंकि आरएफ गैर-रैखिकता को संभाल सकता है, लेकिन गुणांक प्रदान नहीं कर सकता है, क्या यह सबसे महत्वपूर्ण विशेषताओं को इकट्ठा करने के लिए रैंडम फ़ॉरेस्ट का उपयोग करने के लिए बुद्धिमान होगा और फिर अपने संकेतों को समझाने के लिए उन विशेषताओं को एक मल्टीपल रिग्रेशन मॉडल में प्लग करें?

मैं ओपी के एक-वाक्य प्रश्न की व्याख्या करता हूं, जिसका अर्थ है कि ओपी निम्नलिखित विश्लेषण पाइपलाइन की वांछनीयता को समझना चाहता है:

  1. कुछ डेटा के लिए एक यादृच्छिक वन फ़िट करें
  2. (1) से चर महत्व के कुछ मीट्रिक द्वारा, उच्च-गुणवत्ता वाले विशेषताओं का सबसेट चुनें।
  3. (2) से चर का उपयोग करते हुए, एक रेखीय प्रतिगमन मॉडल का अनुमान लगाएं। यह उन गुणांकों को ओपी एक्सेस देगा जो ओपी नोट आरएफ प्रदान नहीं कर सकते हैं।
  4. (3) में रैखिक मॉडल से गुणात्मक अनुमानों के संकेतों की गुणात्मक व्याख्या करते हैं।

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

यहाँ एक उदाहरण है। मैंने 10 शोर विशेषताओं, दो "सिग्नल" सुविधाओं और एक परिपत्र निर्णय सीमा के साथ एक वर्गीकरण समस्या बनाई।

set.seed(1)
N  <- 500
x1 <- rnorm(N, sd=1.5)
x2 <- rnorm(N, sd=1.5)

y  <- apply(cbind(x1, x2), 1, function(x) (x%*%x)<1)

plot(x1, x2, col=ifelse(y, "red", "blue"))
lines(cos(seq(0, 2*pi, len=1000)), sin(seq(0, 2*pi, len=1000))) 

यहाँ छवि विवरण दर्ज करें

और जब हम RF मॉडल लागू करते हैं, तो हम यह जानकर आश्चर्यचकित नहीं होते हैं कि इन विशेषताओं को आसानी से मॉडल द्वारा महत्वपूर्ण रूप से चुना जाता है। (ध्यान दें: इस मॉडल देखते नहीं है सब पर ।)

x_junk   <- matrix(rnorm(N*10, sd=1.5), ncol=10)
x        <- cbind(x1, x2, x_junk)
names(x) <- paste("V", 1:ncol(x), sep="")

rf <- randomForest(as.factor(y)~., data=x, mtry=4)
importance(rf)

    MeanDecreaseGini
x1         49.762104
x2         54.980725
V3          5.715863
V4          5.010281
V5          4.193836
V6          7.147988
V7          5.897283
V8          5.338241
V9          5.338689
V10         5.198862
V11         4.731412
V12         5.221611

लेकिन जब हम केवल इन दो, उपयोगी सुविधाओं के लिए चयन करते हैं, तो परिणामी रैखिक मॉडल भयानक होता है।

summary(badmodel <- glm(y~., data=data.frame(x1,x2), family="binomial"))

सारांश का महत्वपूर्ण हिस्सा अवशिष्ट विचलन और अशक्त विचलन की तुलना है। हम देख सकते हैं कि मॉडल मूल रूप से डिविज़न को "स्थानांतरित" करने के लिए कुछ भी नहीं करता है। इसके अलावा, गुणांक अनुमान अनिवार्य रूप से शून्य हैं।

Call:
glm(formula = as.factor(y) ~ ., family = "binomial", data = data.frame(x1, 
    x2))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.6914  -0.6710  -0.6600  -0.6481   1.8079  

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -1.398378   0.112271 -12.455   <2e-16 ***
x1          -0.020090   0.076518  -0.263    0.793    
x2          -0.004902   0.071711  -0.068    0.946    
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 497.62  on 499  degrees of freedom
Residual deviance: 497.54  on 497  degrees of freedom
AIC: 503.54

Number of Fisher Scoring iterations: 4

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

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

क्योंकि हम केवल दो आयामों से संबंधित हैं, हम एक भविष्यवाणी सतह बना सकते हैं। जैसा कि अपेक्षित था, यादृच्छिक मॉडल सीखता है कि मूल के आसपास का पड़ोस महत्वपूर्ण है।

M                 <- 100
x_new             <- seq(-4,4, len=M)
x_new_grid        <- expand.grid(x_new, x_new)
names(x_new_grid) <- c("x1", "x2")
x_pred            <- data.frame(x_new_grid, matrix(nrow(x_new_grid)*10, ncol=10))
names(x_pred)     <- names(x)

y_hat             <- predict(object=rf, newdata=x_pred, "vote")[,2]

library(fields)
y_hat_mat         <- as.matrix(unstack(data.frame(y_hat, x_new_grid), y_hat~x1))

image.plot(z=y_hat_mat, x=x_new, y=x_new, zlim=c(0,1), col=tim.colors(255), 
           main="RF Prediction surface", xlab="x1", ylab="x2")

यहाँ छवि विवरण दर्ज करें

हमारे abysmal मॉडल आउटपुट द्वारा निहित के रूप में, कम चर लॉजिस्टिक प्रतिगमन मॉडल के लिए भविष्यवाणी की सतह मूल रूप से सपाट है।

यहाँ छवि विवरण दर्ज करें

bad_y_hat     <- predict(object=badmodel, newdata=x_new_grid, type="response")
bad_y_hat_mat <- as.matrix(unstack(data.frame(bad_y_hat, x_new_grid), bad_y_hat~x1))
image.plot(z=bad_y_hat_mat, x=x_new, y=x_new, zlim=c(0,1), col=tim.colors(255), 
           main="Logistic regression prediction surface", xlab="x1", ylab="x2")

HongOoi ने नोट किया कि वर्ग सदस्यता सुविधाओं का रैखिक कार्य नहीं है, लेकिन यह कि यह एक रैखिक कार्य एक परिवर्तन के तहत होता है। क्योंकि निर्णय सीमा यदि हम इन विशेषताओं को वर्ग करते हैं तो हम एक अधिक उपयोगी रैखिक मॉडल बनाने में सक्षम होंगे। यह जानबूझकर किया गया है। जबकि आरएफ मॉडल परिवर्तन के बिना उन दो विशेषताओं में संकेत पा सकता है, विश्लेषक को GLM में समान रूप से सहायक परिणाम प्राप्त करने के लिए अधिक विशिष्ट होना चाहिए। शायद यह ओपी के लिए पर्याप्त है: 2 सुविधाओं के लिए परिवर्तनों का एक उपयोगी सेट ढूंढना 12. की तुलना में आसान है। लेकिन मेरी बात यह है कि भले ही एक परिवर्तन एक उपयोगी रैखिक मॉडल का उत्पादन करेगा, आरएफ सुविधा महत्व अपने आप में परिवर्तन का सुझाव नहीं देगा।1=x12+x22,


1
मुझे लगता है कि, जबकि अच्छा है, यह पूरी बात याद आती है। थोड़ा और जटिल मॉडल आज़माएं - एक जिसे मैं पर्याप्त रूप से गैर-तुच्छ कहूंगा, वह जानकारीपूर्ण होगा। कुछ नमक और काली मिर्च के शोर के साथ इस पर विचार करें (लोग. kyb.tuebingen.mpg.de/spider/demo_dec_vs_svm_2.jpg )। अब इसे आरएफ के साथ फिट करें। अब "स्फ़ूर्त" घटना को हटाने के लिए RF को "फ़िल्टर" के रूप में उपयोग करें, और अपने वैकल्पिक मॉडल को RF के आउटपुट पर प्रशिक्षित करें, न कि इसके गुणांकों को। ओपी गुणांक नहीं "विशेषताओं" को निर्दिष्ट करता है। ओपी "कम यादृच्छिक वन" नहीं बल्कि "यादृच्छिक वन" कहता है। निहितार्थ पूर्ण वन के उत्पादन के लिए है।
EngrStudent

3
दिलचस्प बात यह है कि भविष्यवाणियों में आपका उदाहरण रैखिक है - यदि आप उन्हें पहले बदलते हैं। आपका समीकरण , इसलिए और के वर्ग को लेना एक रैखिक मॉडल में बदल जाता है। वास्तव में, यह एक उदाहरण है कि फ्रीडमैन, हैस्टी और टिब्शिरानी दिखाते थे कि बूस्टिंग एक कम-आयामी मॉडल (स्टंप के मामले में एडिटिव) में फिट बैठता है। x 1 x 2y=x12+x22x1x2
होंग जुई

3
@ user777, मैंने वर्षों से जटिल समस्याओं के खिलाफ आयामी कमी के लिए यादृच्छिक जंगलों का उपयोग किया है। मेरे पूर्व नियोक्ता, इंटेल सेमीकंडक्टर में उत्पादन प्रक्रियाएं होती हैं जिनमें 20k कॉलम और 20k चरण होते हैं, और 10 दोषों के लिए यह 20k कॉलम से 30 कॉलम तक जाने के लिए विश्लेषणात्मक उपकरणों के एक सूट के हिस्से के रूप में उपयोग करता है। वे आंतरिक रूप से पाठ्यक्रम पढ़ाते हैं, और बाहरी रूप से सामग्री पर व्याख्यान देते हैं। ( web.stanford.edu/class/ee392m/Lecture3Tuv.pdf ) "वन" एक आश्चर्यजनक शक्तिशाली उपकरण है और आपने एक खराब सड़क ली है। दो ठोस रूप से अच्छे हैं जिन्हें आपने याद किया है।
EngrStudent

2
@EngrStudent "इंटेल बहुत से कम कॉलम में जाने के लिए RF का उपयोग करता है।" ठीक यही मेरा प्रदर्शन है। यह ओपी के विशेष प्रश्न का भी उत्तर देता है कि क्या उन विशेषताओं का लाभ रैखिक मॉडल में किया जा सकता है, और मेरा उत्तर है "सामान्य रूप से वे सीधे उपयोगी नहीं होंगे, लेकिन इस उदाहरण में, आप उन्हें एक परिवर्तन के तहत उपयोगी पा सकते हैं।"
मोनिका

12

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


2
धन्यवाद, डॉ। हैरेल! मेरे दिमाग में, अगर ओपी को इस विश्लेषण पाइपलाइन का उपयोग करना था, तो ओपी उनके (क्रॉस-) सत्यापन योजना के अंदर आरएफ डाउन-चयन और रैखिक मॉडल फिटिंग करेगा । क्या आपके द्वारा वर्णित पूर्वाग्रह को कम करने के लिए पर्याप्त है, या यहाँ एक और समस्या है जो मुझे याद आ रही है?
मोनिका

2
मुझे नहीं पता कि इस योजना के लिए "अंदर" एक उचित रैखिक मॉडल कैसे किया जाए। मुझे नहीं पता कि ओवरफिटिंग / अनुमान पूर्वाग्रह को कैसे कम किया जाए। शायद एक बेहतर दृष्टिकोण मॉडल सन्निकटन है, जिसे कभी-कभी पूर्व कंडीशनिंग कहा जाता है। यहां आप पारंपरिक मॉडल या सिंगल ट्री (जिसमें एक टन नोड्स की आवश्यकता होती है) का उपयोग ब्लैक बॉक्स के उत्पादन को अनुमानित करने के लिए करते हैं, जो ब्लैक बॉक्स के संकोचन को विरासत में प्राप्त करता है।
फ्रैंक हरेल

8

किसी समस्या के लिए लागू किया गया एक ठीक से रैंडम फ़ॉरेस्ट फ़ॉरेस्ट, जो "रैंडम फ़ॉरेस्ट उपयुक्त" अधिक होता है, जो शोर को दूर करने के लिए एक फ़िल्टर के रूप में काम कर सकता है, और अन्य विश्लेषण टूल के इनपुट के रूप में अधिक उपयोगी होते हैं।

अस्वीकरण:

  • क्या यह "चांदी की गोली" है? बिल्कुल नहीं। माइलेज अलग-अलग होगा। यह काम करता है जहां यह काम करता है, और कहीं और नहीं।
  • क्या ऐसे तरीके हैं जो आप गलत तरीके से गलत तरीके से उपयोग कर सकते हैं और ऐसे उत्तर प्राप्त कर सकते हैं जो जंक-टू-वूडू डोमेन में हैं? आप बेट्चा हो। प्रत्येक विश्लेषणात्मक उपकरण की तरह, इसकी सीमाएँ हैं।
  • यदि आप एक मेंढक को चाटते हैं, तो क्या आपकी सांस मेंढक की तरह बदबू आएगी? संभावना है। मुझे वहां अनुभव नहीं है।

मुझे अपने "पीपल" को "चिल्लाओ" देना है जिसने "स्पाइडर" बनाया। ( लिंक ) उनके उदाहरण की समस्या ने मेरे दृष्टिकोण को सूचित किया। ( लिंक ) मुझे थिल-सेन के अनुमानक भी पसंद हैं, और काश मैं थिल और सेन को प्रॉप्स दे पाता।

मेरा उत्तर यह नहीं है कि इसे गलत कैसे प्राप्त किया जाए, लेकिन अगर आप इसे सही तरीके से प्राप्त करते हैं तो यह कैसे काम कर सकता है। जबकि मैं "तुच्छ" शोर का उपयोग करता हूं, मैं चाहता हूं कि आप "गैर-तुच्छ" या "संरचित" शोर के बारे में सोचें।

एक यादृच्छिक वन की शक्तियों में से एक यह उच्च-आयामी समस्याओं पर कितनी अच्छी तरह लागू होता है। मैं एक साफ दृश्य तरीके से 20k कॉलम (उर्फ 20k आयामी स्थान) नहीं दिखा सकता। यह एक आसान कार्य नहीं है। हालांकि, अगर आपको 20k- आयामी समस्या है, तो एक यादृच्छिक जंगल वहाँ एक अच्छा उपकरण हो सकता है जब अधिकांश अन्य अपने "चेहरे" पर सपाट हो जाते हैं।

यह यादृच्छिक वन का उपयोग करके सिग्नल से शोर को हटाने का एक उदाहरण है।

#housekeeping
rm(list=ls())

#library
library(randomForest)

#for reproducibility
set.seed(08012015)

#basic
n <- 1:2000
r <- 0.05*n +1 
th <- n*(4*pi)/max(n)

#polar to cartesian
x1=r*cos(th) 
y1=r*sin(th)

#add noise
x2 <- x1+0.1*r*runif(min = -1,max = 1,n=length(n))
y2 <- y1+0.1*r*runif(min = -1,max = 1,n=length(n))

#append salt and pepper
x3 <- runif(min = min(x2),max = max(x2),n=length(n)/2)
y3 <- runif(min = min(y2),max = max(y2),n=length(n)/2)

x4 <- c(x2,x3)
y4 <- c(y2,y3)
z4 <- as.vector(matrix(1,nrow=length(x4)))

#plot class "A" derivation
plot(x1,y1,pch=18,type="l",col="Red", lwd=2)
points(x2,y2)
points(x3,y3,pch=18,col="Blue")
legend(x = 65,y=65,legend = c("true","sampled","false"),
col = c("Red","Black","Blue"),lty = c(1,-1,-1),pch=c(-1,1,18))

यहाँ क्या चल रहा है, उसका वर्णन करता हूँ। नीचे दी गई यह छवि कक्षा "1" के लिए प्रशिक्षण डेटा दिखाती है। क्लास "2" समान डोमेन और रेंज पर समान यादृच्छिक है। आप देख सकते हैं कि "1" की "सूचना" ज्यादातर एक सर्पिल है, लेकिन "2" से सामग्री के साथ दूषित हो गई है। आपके डेटा का 33% भ्रष्ट होना कई फिटिंग टूल्स के लिए एक समस्या हो सकती है। इल-सेन लगभग 29% घटने लगता है। ( लिंक )

यहाँ छवि विवरण दर्ज करें

अब हम जानकारी को अलग करते हैं, केवल इस बात का अंदाजा लगाते हैं कि शोर क्या है।

#Create "B" class of uniform noise
x5 <- runif(min = min(x4),max = max(x4),n=length(x4))
y5 <- runif(min = min(y4),max = max(y4),n=length(x4))
z5 <- 2*z4 

#assemble data into frame 
data <- data.frame(c(x4,x5),c(y4,y5),as.factor(c(z4,z5)))
names(data) <- c("x","y","z")

#train random forest - I like h2o, but this is textbook Breimann
fit.rf <- randomForest(z~.,data=data,
                       ntree = 1000, replace=TRUE, nodesize = 20)
data2 <- predict(fit.rf,newdata=data[data$z==1,c(1,2)],type="response")

#separate class "1" from training data
idx1a <- which(data[,3]==1)

#separate class "1" from the predicted data
idx1b <- which(data2==1)

#show the difference in classes before and after RF based filter
plot(data[idx1a,1],data[idx1a,2])
points(data[idx1b,1],data[idx1b,2],col="Red")

यहाँ फिटिंग परिणाम है:

यहाँ छवि विवरण दर्ज करें

मुझे वास्तव में यह पसंद है क्योंकि यह एक ही समय में एक कठिन समस्या को एक सभ्य विधि की ताकत और कमजोरियां दोनों दिखा सकता है। यदि आप केंद्र के पास देखते हैं तो आप देख सकते हैं कि कम फ़िल्टरिंग कैसे होती है। सूचना का ज्यामितीय स्तर छोटा है और यादृच्छिक वन गायब है। यह कक्षा 2 के लिए नोड्स की संख्या, पेड़ों की संख्या और नमूना घनत्व के बारे में कुछ कहता है। कई स्थानों पर (-50, -50) और "जेट्स" के पास एक "गैप" भी है। सामान्य तौर पर, हालांकि, फ़िल्टरिंग सभ्य है।

बनाम एसवीएम की तुलना करें

यहाँ SVM के साथ तुलना करने की अनुमति देने के लिए कोड है:

#now to fit to svm
fit.svm <-  svm(z~., data=data, kernel="radial",gamma=10,type = "C")

x5 <- seq(from=min(x2),to=max(x2),by=1)
y5 <- seq(from=min(y2),to=max(y2),by=1)

count <- 1
x6 <- numeric()
y6 <- numeric()
for (i in 1:length(x5)){

     for (j in 1:length(y5)){
          x6[count]<-x5[i]
          y6[count]<-y5[j]
          count <- count+1
     }
}

data4 <- data.frame(x6,y6)
names(data4) <- c("x","y")

data4$z <- predict(fit.svm,newdata=data4)

idx4 <- which(data4$z==1,arr.ind=TRUE)


plot(data4[idx4,1],data4[idx4,2],col="Gray",pch=20)
points(data[idx1b,1],data[idx1b,2],col="Blue",pch=20)
lines(x1,y1,pch=18,col="Green", lwd=2)
grid()
legend(x = 65,y=65,
       legend = c("true","from RF","From SVM"),
       col = c("Green","Blue","Gray"),lty = c(1,-1,-1),pch=c(-1,20,15),pt.cex=c(1,1,2.25))

यह निम्नलिखित छवि में परिणाम है।

यहाँ छवि विवरण दर्ज करें

यह एक सभ्य एसवीएम है। ग्रे एसवीएम द्वारा "1" श्रेणी से जुड़ा डोमेन है। ब्लू डॉट्स आरएफ द्वारा वर्ग "1" से जुड़े नमूने हैं। आरएफ आधारित फ़िल्टर स्पष्ट रूप से लगाए गए आधार के बिना एसवीएम से तुलनात्मक रूप से प्रदर्शन करता है। यह देखा जा सकता है कि सर्पिल के केंद्र के पास "तंग डेटा" बहुत अधिक "कसकर" आरएफ द्वारा हल किया जाता है। "पूंछ" की ओर "द्वीप" भी हैं जहां आरएफ एसोसिएशन पाता है कि एसवीएम नहीं करता है।

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

संपादित करें:

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

यदि हम यादृच्छिक-वन टूल पर भी डिफ़ॉल्ट सेटिंग्स लेते हैं, तो हम पहले कई पेड़ों के लिए वर्गीकरण की त्रुटि बढ़ जाती है के व्यवहार का निरीक्षण कर सकते हैं, और जब तक लगभग 10 पेड़ नहीं होते हैं, तब तक वे एक-वृक्ष के स्तर तक नहीं पहुंचते हैं। प्रारंभ में त्रुटि बढ़ जाती है त्रुटि में कमी 60 पेड़ों के आसपास स्थिर हो जाती है। स्थिर से मेरा मतलब है

x        <- cbind(x1, x2)
plot(rf,type="b",ylim=c(0,0.06))
grid()

कौन सी पैदावार:
यहाँ छवि विवरण दर्ज करें

यदि "न्यूनतम कमजोर शिक्षार्थी" को देखने के बजाय हम उपकरण की डिफ़ॉल्ट सेटिंग के लिए एक बहुत ही संक्षिप्त अनुमान द्वारा सुझाए गए "न्यूनतम कमजोर पहनावा" को देखते हैं तो परिणाम कुछ अलग होते हैं।

ध्यान दें, मैंने सन्निकटन पर किनारे को इंगित करने वाले सर्कल को खींचने के लिए "लाइनों" का उपयोग किया था। आप देख सकते हैं कि यह अपूर्ण है, लेकिन एक एकल शिक्षार्थी की गुणवत्ता की तुलना में बहुत बेहतर है।

यहाँ छवि विवरण दर्ज करें

मूल नमूने में 88 "आंतरिक" नमूने हैं। यदि नमूना आकार में वृद्धि हुई है (लागू करने के लिए पहनावा की अनुमति देता है) तो सन्निकटन की गुणवत्ता में भी सुधार होता है। 20,000 नमूनों के साथ सीखने वालों की संख्या आश्चर्यजनक रूप से बेहतर है।

यहाँ छवि विवरण दर्ज करें

बहुत अधिक गुणवत्ता वाली इनपुट जानकारी भी उचित संख्या में पेड़ों के मूल्यांकन की अनुमति देती है। अभिसरण के निरीक्षण से पता चलता है कि 20 पेड़ इस विशेष मामले में न्यूनतम पर्याप्त संख्या है, जो डेटा का अच्छी तरह से प्रतिनिधित्व करने के लिए है।

यहाँ छवि विवरण दर्ज करें


यह कैसे साबित / अस्वीकृत करता है कि आरएफ का उपयोग रैखिक मॉडल के लिए उच्च-गुणवत्ता वाले सुविधाओं का चयन करने के लिए किया जा सकता है? आप अपने उत्तर में फीचर चयन या रैखिक मॉडल पर चर्चा नहीं करते हैं।
मोनिका

प्रश्नकर्ता का आधार एक पूर्व फ़िल्टर के रूप में आरएफ का उपयोग करने के बारे में है फिर रैखिक मॉडल के मापदंडों को देखते हुए। वह जंगल के मापदंडों को नहीं देख रहा था। जब मैंने इसे पढ़ा, तो इसकी गहराई या विशिष्टता की कमी के कारण, "कई रैखिक मॉडल" माध्यमिक लग रहे थे। मेरे लिए यह "विश्लेषणात्मक उपकरण x में चिपकाने से पहले एक RF प्रीप्रोसेस / स्वच्छ डेटा हो सकता है" जैसा दिखता था।
EngrStudent

मैं क्षैतिज और ऊर्ध्वाधर कलाकृतियों को देखता हूं। मैं 45 डिग्री घुमाए गए निर्देशांक पर एक "संयुग्मित डेटा" बनाने के लिए लुभाता हूं, और कॉलम को आरएफ में जोड़ता हूं। मैं शर्त लगाता हूं कि इस तरह का एक परिवर्तन कलाकृतियों की संख्या को कम करेगा, हालांकि मुझे यकीन नहीं है कि यह इनपुट मापदंडों को कैसे बदलेगा।
EngrStudent

2
एक तरफ के रूप में, "रोटेशन वन" इस विचार पर एक हाल ही में भिन्नता है, जहां पीसीए का उपयोग नए आधार को निर्धारित करने के लिए किया जाता है। ncbi.nlm.nih.gov/pubmed/16986543
मोनिका

1
नीट: लियू, फी टोनी, टिंग, काई मिंग और झोउ, झी-हुआ। "अलगाव वन।" डाटा माइनिंग, 2008। ICDM'08। आठवां IEEE अंतर्राष्ट्रीय सम्मेलन।
EngrStudent
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.