-
카테고리
-
세부 분야
자격증 (데이터 사이언스)
-
해결 여부
미해결
평가지표 r2 score
21.11.29 22:57 작성 조회수 104
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 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
답변을 작성해보세요.
0
companionclub
지식공유자2021.11.30
안녕하세요.
일단 p3의 최대값이 0.36이면 p4를 생성할 때 기준값을 정하는 것은
전적으로 분석가와 현업담당자의 직관입니다. 주로 사전확률등을 활용해서 잡긴하는데
정답은 없습니다. 그렇기 때문에 시험에는 그냥 확률값 자체를 제출받아서 AUROC로 채점을 하게 됩니다.
R2 Score는 아마 파이썬에서 보신 것 같은데 R2 Score는 선형회귀(lm함수)를 사용하는 경우에서만
R-Square 값을 뽑을 수 있습니다. 따라서 시험에는 나오지 않을 것으로 보입니다.
꼭 뽑아야 하는 경우에는 lm함수로 모델을 만드시고 summary(모델명)$r.squared로 실행하시면 되겠습니다.
작성해주신 것은 코드상으로 문제가 없으며 잘 돌아갈 것 같습니다.
답변 1