ฉันรู้ว่านี่เป็น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])