Je sais que cette question est assez spécifique R
, mais je pense peut-être à la variance des proportions expliquée, , de manière incorrecte. Voici.
J'essaie d'utiliser le R
paquet randomForest
. J'ai des données d'entraînement et des données de test. Lorsque j'adapte un modèle de forêt aléatoire, la randomForest
fonction vous permet de saisir de nouvelles données de test à tester. Il vous indique ensuite le pourcentage de variance expliqué dans ces nouvelles données. Quand je regarde cela, je reçois un numéro.
Lorsque j'utilise la predict()
fonction pour prédire la valeur de résultat des données de test en fonction du modèle ajusté à partir des données d'apprentissage, et que je prends le coefficient de corrélation au carré entre ces valeurs et les valeurs de résultat réelles pour les données de test, j'obtiens un nombre différent. Ces valeurs ne correspondent pas .
Voici du R
code pour illustrer le problème.
# 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])