R의 caret로 배우는 Machine Learning
Zach Mayer
Data Scientist at DataRobot and co-author of caret
?preProcess 참고# 결측값이 있는 데이터 생성
data(mtcars)
set.seed(42)
mtcars[sample(1:nrow(mtcars), 10), "hp"] <- NA
Y <- mtcars$mpg
X <- mtcars[,2:4] # <- 무작위로 결측
# 선형 모델 "레시피" 사용
set.seed(42)
model <- train(
X, Y, method = "glm",
preProcess = c("center", "scale", "medianImpute")
)
print(min(model$results$RMSE))
3.612713
# 모델링 전에 PCA
set.seed(42)
model <- train(
X, Y, method = "glm",
preProcess = c("center", "scale", "medianImpute", "pca")
)
min(model$results$RMSE)
3.402557
# Spatial sign 변환
set.seed(42)
model <- train(
X, Y, method = "glm",
preProcess = c("center", "scale", "medianImpute", "spatialSign")
)
min(model$results$RMSE)
4.284904
R의 caret로 배우는 Machine Learning