인프런 커뮤니티 질문&답변
작업형 제2유형
작성
·
187
0
제가 비전공자에다가 관련 지식이 부족해 직접 작업을 수행하는데 있어 어려움이 있습니다.
문제는 이번에 수제비에서 낸 문제집에서 따왔습니다.
문제: 다음은 mtcars데이터 세트로 32개 자동차들의 디자인과 성능을 비교한 데이터이다. 훈련 데이터와 평가데이터를 7:3으로 분할한 후 연비(mpg)를 예측하는 최적모델을 만들고 RMSE로 평가 결과를 구하시오.
이 문제를 선생님이 알려주신 방법인 glm과 rpart를 활용한 방법으로 풀려고 하는데 계속 오류가 나거나 숫자가 이상하게 나옵니다. 혹시 이 문제에 대한 답을 스크립트로 적어주실 수 있으신가요? 데이터는 유명한 데이터 세트인 mtcars가 맞습니다.
제가 워낙 부족하다보니까 최대한 자세하게 R 스크립트로 보여주시면 감사하겠습니다. ㅠㅠ
답변 1
2
안녕하세요. 강의자료에 있는 코드를 그대로 가져와서 복사 붙여넣기 한 뒤
데이터셋과 변수명만 변경해서 해보았습니다. 정상적으로 작동하는 것도 확인했습니다. 참고해주세요.
df <- mtcars
str(df)
library(caret)
inx <- createDataPartition(df$mpg, p = 0.7, list = F)
train <- df[inx,]
test <- df[-inx,]
model1 <- train(mpg~. , data = train, method = 'glm')
model2 <- train(mpg~. , data = train, method = 'rpart')
p1 <- predict(model1, test)
p2 <- predict(model2, test)
p3 <- (p1 + p2)/2
library(ModelMetrics)
mae(test$mpg, p3)
rmse(test$mpg, p3)
mean(abs(p3-test$mpg)/test$mpg) * 100





