인프런 커뮤니티 질문&답변

너굴너굴님의 프로필 이미지
너굴너굴

작성한 질문수

빅데이터분석기사 실기대비 (R 활용)

작업형 2유형

제4회 작업형2 실기 질문입니다.

작성

·

204

0

모델을 만들고 예측해서 rpart모델을 최종 파이널로 만들때

model_f <- train(Segmentation~. , data = df, method = 'rpart')

p_f <- predict(model_f, tst)

게 하고

cm_f<- confusionMatrix(p_f,tst$Segmentation)

mean(cm_f$byClass[,7], na.rm = T)

를 안 하는 이유는 tst파일에 Segmentation변수가 없기 때문인가요?(해보면 에러가 뜨긴 하는데...)

결국 위에서 모델을 만들고 예측을 한 다음 최종적으로 제출파는 파일에는 예측변수가 없기 때문에 p_f만 제출하면 되는 거죠?

 

 

답변 2

1

너굴너굴님의 프로필 이미지
너굴너굴
질문자

선생님!!

친절하시고 자세하신 설명 덕분에 코드 이해했습니다.

감사합니다.!!!

0

companionclub님의 프로필 이미지
companionclub
지식공유자

 

안녕하세요.

네 맞습니다. 그 변수가 없습니다.

그 변수는 답안지이고 진흥원에서 가지고 있으며 제출하신 예측값과 비교를 합니다.

그래서 위에 쓰신 그 코드는 우리가 아닌 진흥원에서 사용해서 평가합니다.

 

기본적으로 진흥원에서는 답지가 있는 (y가 있는) 데이터와 그렇지 않은 데이터를 줍니다.

그러면 우리는 답지가 있는 데이터를 활용해서 모델을 만들고 그렇지 않은 데이터를 모델에 투입해서

그 결과를 답지로 제출합니다.

 

그런데 답지가 있는 데이터로 모델을 만들 때, 그 모델이 잘 만들어졌는지 궁금하기 때문에

그 데이터를 train/test로 나누어서 평가를 해보는 과정을 거칩니다.

 

그 과정이 부담스럽거나 모델을 하나밖에 모른다면 나누어서 평가하는 과정도 필요없고

그냥 전체 데이터를 다 넣어서 모델을 만들고 답지가 없는 데이터를 모델에 투입해서 예측값을

제출하면 됩니다.

 

그러나 대부분의 서적이나 강의에서 그렇게 하지않고

그래도 한번쯤은 내가 만든 모델을 평가하는 과정을 거치도록 코딩했고 저도 마찬가지 입니다.

 

결론적으로 문의하신 부분이 맞으며 예측변수가 없기 때문에 평가를 우리가 할 수 없으며

p_f 변수의 예측값만 제출하면 됩니다.

너굴너굴님의 프로필 이미지
너굴너굴

작성한 질문수

질문하기