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

라티님의 프로필 이미지
라티

작성한 질문수

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

작업형 2번 관련 (result, auc등)

작성

·

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

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

안녕하세요.

제가 강의자료에는 별도로 기입하지 않았는데 진흥원의 실기환경 체험의 안내대로 하시면 될 것 같습니다.

실제로 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가 없어서 확인이 불가능합니다.

 

마지막부분은 서면으로 의사소통이 어려워서

제가 제대로 이해하고 답변 드린 것인지 확신이 안서네요.

라티님의 프로필 이미지
라티
질문자

똑 부러지는 설명 감사합니다!

3번에 대한 연장선인데요, 최종 test에 대한 결과는 확인이 불가능하다는 점 확인했습니다! 그렇다면 채점은 train데이터를 7:3으로 나누어 평가를 진행한 걸 토대로 하는건가요? 

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

채점은 진흥원에서 가진 정답지를 바탕으로 합니다.

 y_test를 진흥원에서 가지고있기때문에 제출하신csv와 정답지를 비교하여 채점합니다.

평안한밤되세요!

라티님의 프로필 이미지
라티
질문자

아 이해했습니다! 친절한 설명 너무나도 감사드립니다! !  굿밤 되세요!  :)

0

auc(test$gender, p3[,2]) 가 아니라

auc(X_test$gender, p3[,2]) 가 되야 하는게 아닐까요!?

라티님의 프로필 이미지
라티
질문자

저도 처음에 그렇게 생각해서 글 올리기전에 X_test인 것 같아서 해보았는데 에러가 뜨더군요 ㅠ 그 이유도 모르겠습니다. 에러는 Not compatible with requested type: [type=NULL; target=double].이렇게 뜹니다. 코드는 강의자료에 출제예상.txt에 있는 코드 처음부터 끝까지 그대로 가져다 썼습니다.

라티님의 프로필 이미지
라티

작성한 질문수

질문하기