Tôi biết đây là một R
câu hỏi khá cụ thể , nhưng tôi có thể suy nghĩ về phương sai tỷ lệ được giải thích, , không chính xác. Ở đây đi.
Tôi đang cố gắng sử dụng R
gói randomForest
. Tôi có một số dữ liệu đào tạo và dữ liệu thử nghiệm. Khi tôi phù hợp với một mô hình rừng ngẫu nhiên, randomForest
chức năng cho phép bạn nhập dữ liệu thử nghiệm mới để kiểm tra. Sau đó nó cho bạn biết tỷ lệ phương sai được giải thích trong dữ liệu mới này. Khi tôi nhìn vào điều này, tôi nhận được một số.
Khi tôi sử dụng predict()
hàm để dự đoán giá trị kết quả của dữ liệu thử nghiệm dựa trên mô hình phù hợp với dữ liệu huấn luyện và tôi lấy hệ số tương quan bình phương giữa các giá trị này và giá trị kết quả thực tế cho dữ liệu thử nghiệm, tôi nhận được một số khác. Những giá trị này không khớp với nhau .
Đây là một số R
mã để chứng minh vấn đề.
# 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])