मैं जानता हूँ कि यह एक काफी विशिष्ट है R
सवाल है, लेकिन मैं अनुपात विचरण के बारे में सोच सकते बताया गया है, , गलत तरीके से। यहाँ जाता हैं।
मैं R
पैकेज का उपयोग करने की कोशिश कर रहा हूं randomForest
। मेरे पास कुछ प्रशिक्षण डेटा और परीक्षण डेटा है। जब मैं एक यादृच्छिक वन मॉडल फिट करता हूं, तो randomForest
फ़ंक्शन आपको परीक्षण करने के लिए नए परीक्षण डेटा इनपुट करने की अनुमति देता है। यह आपको बताता है कि इस नए डेटा में समझाया गया विचरण का प्रतिशत कितना है। जब मैं इसे देखता हूं, तो मुझे एक नंबर मिलता है।
जब मैं predict()
प्रशिक्षण डेटा से फिट होने वाले मॉडल के आधार पर परीक्षण डेटा के परिणाम मूल्य की भविष्यवाणी करने के लिए फ़ंक्शन का उपयोग करता हूं , और मैं इन मूल्यों और परीक्षण डेटा के लिए वास्तविक परिणाम मूल्यों के बीच चुकता सहसंबंध गुणांक लेता हूं, तो मुझे एक अलग संख्या मिलती है। ये मूल्य मेल नहीं खाते हैं ।
R
समस्या को प्रदर्शित करने के लिए यहां कुछ कोड दिए गए हैं ।
# use the built in iris data
data(iris)
#load the randomForest library
library(randomForest)
# split the data into training and testing sets
index <- 1:nrow(iris)
trainindex <- sample(index, trunc(length(index)/2))
trainset <- iris[trainindex, ]
testset <- iris[-trainindex, ]
# fit a model to the training set (column 1, Sepal.Length, will be the outcome)
set.seed(42)
model <- randomForest(x=trainset[ ,-1],y=trainset[ ,1])
# predict values for the testing set (the first column is the outcome, leave it out)
predicted <- predict(model, testset[ ,-1])
# what's the squared correlation coefficient between predicted and actual values?
cor(predicted, testset[, 1])^2
# now, refit the model using built-in x.test and y.test
set.seed(42)
randomForest(x=trainset[ ,-1], y=trainset[ ,1], xtest=testset[ ,-1], ytest=testset[ ,1])