🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    자격증 (데이터 사이언스)

  • 해결 여부

    미해결

평가지표 r2 score

21.11.29 22:57 작성 조회수 104

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
 
 
 
 
안녕하세요 덕분에 열심히 공부하는 중입니다 감사해요 ㅎㅎ : )
 
의료비용 예측하는 데이터 기반 문제를 푸려고 하는데, 평가지표로 r2 score를 사용하려고 합니다.
알려주신대로 train 데이터를 t_train과 t_test으로 분리하여 p3를 생성했는데요
 
1. 만약에 p3 최대값이 0.36 이면 p4 생성할 때 기준값을 0.5으로 해도 되나요 ..?
이런 경우라면 기준값을 보통 어떻게 잡나요?
2. r2 score를 구하려면 어떤 코드를 실행시켜야 하나요 ?
3. 제가 한 과정 중에 잘못된 게 있나요 ?
(#으로 주석처리한 이후부터는 코드 실행은 하지 못했고, 작성만 했습니다 ㅜㅜ)
 
 
 
train <- read.csv('https://raw.githubusercontent.com/Datamanim/datarepo/main/MedicalCost/train.csv') test <- read.csv('https://raw.githubusercontent.com/Datamanim/datarepo/main/MedicalCost/test.csv') str(train) summary(train) train$sex <- as.factor(train$sex) train$children <- as.factor(train$children) train$smoker <- as.factor(train$smoker) train$region <- as.factor(train$region) inx <- createDataPartition(train$charges, p=0.7, list=F) t_train <- train[inx,] t_test <- train[-inx,] model1 <- train(charges~., data=t_train, method="glm") model2 <- train(charges~., data=t_train, method="rpart") p1 <- predict(model1,t_test,type="prob") p2 <- predict(model2,t_test,type="prob") p3 <- (p1+p2)/2 # p4 <- as.factor(ifelse(p3[,2]>0.5, 1, 0)) # tmp <- caret::R2(p4,t_test$charges)
 
 
 
str(test) summary(test) test$sex <- as.factor(test$sex) test$children <- as.factor(test$children) test$smoker <- as.factor(test$smoker) test$region <- as.factor(test$region) model1 <- train(charges~., data=train, method="glm") model2 <- train(charges~., data=train, method="rpart") p1 <- predict(model1,test,type="prob") p2 <- predict(model2,test,type="prob") p3 <- (p1+p2)/2

 

답변 1

답변을 작성해보세요.

0

안녕하세요.

일단 p3의 최대값이 0.36이면 p4를 생성할 때 기준값을 정하는 것은

전적으로 분석가와 현업담당자의 직관입니다. 주로 사전확률등을 활용해서 잡긴하는데 

정답은 없습니다. 그렇기 때문에 시험에는 그냥 확률값 자체를 제출받아서 AUROC로 채점을 하게 됩니다.

 

R2 Score는 아마 파이썬에서 보신 것 같은데 R2 Score는 선형회귀(lm함수)를 사용하는 경우에서만

R-Square 값을 뽑을 수 있습니다. 따라서 시험에는 나오지 않을 것으로 보입니다.

꼭 뽑아야 하는 경우에는 lm함수로 모델을 만드시고 summary(모델명)$r.squared로 실행하시면 되겠습니다.

 

작성해주신 것은 코드상으로 문제가 없으며 잘 돌아갈 것 같습니다.

채널톡 아이콘