작성
·
225
0
안녕하세요 올려주신 강의 도움 많이 되고 있습니다!
혼자 공부를 하다보니 몇가지 궁금한 점이 생겼는데요,
첫번째로, 한국데이터산업진흥원에서 발표한 실기 환경 체험하기에서는 write.csv에서 row.names = F를 썼는데요.
강의에서는 안쓰셨는데 안써도 상관없는건지 아니면 적어줘야하는건지 궁금합니다.
두번째로, 강의에서는 result <- data.frame(Y_N = p3[,2]) 이렇게 코딩하셨는데
아래 사진과 같이 custid(작업형2 예제문제기준 고객2482명)도 출력을 하려면 어떻게 해야 좋을지 답변주시면 감사하겠습니다
마지막으로, 작업형2의 예제질문입니다.
학습데이터(train)를 가지고 모델링을 진행 후 p3까지 구한후에 auc(test$gender, p3[,2]) 했을 땐 0.6 정도 나왔는데
전체데이터(df)를 가지고 모델링을 진행하고 X_test로 p3까지 구한 후 auc(test$gender, p3[,2])를 실행하면 값이 1.6정도 나옵니다. 모델의 성능이 1을 넘어버리는데 어디가 잘못된걸까요?
model1 <- train(gender~. , data = df, method = 'glm')
model2 <- train(gender~. , data = df, method = 'rpart')
p1 <- predict(model1, X_test, type = 'prob')
p2 <- predict(model2, X_test, type = 'prob')
p3 <- (p1 + p2)/2
auc(test$gender, p3[,2])
질문이 좀 많은데 양해를 구하고 답변 부탁드립니다.
답변 2
2
안녕하세요.
제가 강의자료에는 별도로 기입하지 않았는데 진흥원의 실기환경 체험의 안내대로 하시면 될 것 같습니다.
실제로 2회 기출에도 그렇게 나와있어서 저도 가이드대로 동일하게 적었습니다.
두번째, 그렇게 동일하게 출력을 하고 싶으신 경우에 cust_id를 제거하면 안됩니다.
저는 애초에 제거해 버려서 제 스크립트대로 하시게되면 마지막에
X_test <- read.csv('C:/Users/user/Desktop/강의자료/X_test.csv')
result_f <- as.data.frame(cbind(custid = X_test$cust_id, gender = result$Y_N))
str(result_f)
위와 같이 추가하시면 원하시는 결과를 얻을 수 있습니다.
세번째, 전체 데이터로 모델을 새로 만들고 test를 하시면 test에 대해서는 정답지가 없기 때문에
모델평가가 불가능합니다. 제 스크립트에도 가장 최종적으로 모델을 만들고 예측한 뒤에
별도의 모델평가 없이 저장해서 제출한 것도 같은 이유입니다.
그러나 모델의 결과를 한번은 확인해야 하기 때문에 굳이 train 데이터를 7:3으로 나누어 평가를 진행했습니다.
따라서, 최종 test에 대한 결과는 정답지인 y_test가 없어서 확인이 불가능합니다.
마지막부분은 서면으로 의사소통이 어려워서
제가 제대로 이해하고 답변 드린 것인지 확신이 안서네요.
채점은 진흥원에서 가진 정답지를 바탕으로 합니다.
y_test를 진흥원에서 가지고있기때문에 제출하신csv와 정답지를 비교하여 채점합니다.
평안한밤되세요!
똑 부러지는 설명 감사합니다!
3번에 대한 연장선인데요, 최종 test에 대한 결과는 확인이 불가능하다는 점 확인했습니다! 그렇다면 채점은 train데이터를 7:3으로 나누어 평가를 진행한 걸 토대로 하는건가요?