60,500원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결빅데이터분석기사 실기대비 (R 활용)
작업형 2번, 예측값이 0,1 이 아니고 "a","b","c" 일때
예를 들어 iris / Species 예측 모형을 만든 후에 Accuracy를 구하라 하는데요 tmp <- confusionMatrix (test$Species, p3) 한 다음에 tmp$byClass 나 $overall 이 안먹는데 어떻게 하나요? > tmp <- confusionMatrix(tet$Species, p2) > tmp$byClass Error in tmp$byClass : $ operator is invalid for atomic vectors > tmp$overAll Error in tmp$overAll : $ operator is invalid for atomic vectors
- 미해결빅데이터분석기사 실기대비 (R 활용)
작업형 2번 혼동행렬 관련 질문
안녕하세요, 혼동행렬을 복습중에 궁금한 점이 생겨 질문 드립니다. (혹시 실제 시험에서 정확도나 민감도 같은 수치를 제출 하라고 할 때) 풀이해주신 작업형 예제2번 같은 경우, X_train과 y_train을 merge해서 df를 만들고 그 df를 훈련용 데이터와 검정용 데이터로 나눴기 때문에 caret::confusionMatrix(p4, test$gender) 명령은 문제없이 수행되고 정확도나 기타 혼동행렬 지표를 찾을 수 있었습니다. 그러나, 이 후에 전체데이터(df)로 모델링을 구축하고 p4까지는 문제없이 구해지는데, 여기서 caret::confusionMatrix(p4,X_test$gender) 이렇게 수행을 하면 에러: `data` and `reference` should be factors with the same levels. 이런 에러가 뜨더라구요. 생각을 해보니 X_test에는 gender라는 컬럼이 없어서 인 듯한데요, 여기서 질문입니다. (잘못 코딩한 것이 아니라면) 1. 문제에서 혼동행렬의 특정 지표값을 물어볼 때 제출해야하는 값은 처음에 파티셔닝 진행하고 혼동행렬을 돌렸을 때 나온 값으로 제출해야하는지 궁금합니다. 실제 강의에서는 그렇게 다뤄주셨는데 , 그런거라면 뒤에 전체데이터(df)를 다 집어넣어서 다시 모델링을 진행하고 예측을 하는 과정 전부 생략하고 바로 write.csv 하면 되는건지 궁금합니다. 1-1. 만약 전체 데이터로 하는 모델링과 예측과정을 다 생략하는거라면 혼동행렬 지표 도출하기 문제에서 X_test는 어디에 써야하는지도 궁금합니다. 혹시 질문이 이해가 안되는 부분 말씀해주시면 감사하겠습니다,,
- 미해결빅데이터분석기사 실기대비 (R 활용)
구름 예제 : 작업형 2번 (마지막 문제)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이렇게 제출하라는데 데이터프레임으로 만들어서 제출해야 하나요?> 이렇게 제출하면 되는건가요? 그리고 p3 만들면 X_test는 행 수가 2400개 정도고 p3의 행 수는 800개 (열은 두개, 0/1) 정도인데 이게 맞는건가요..?
- 미해결빅데이터분석기사 실기대비 (R 활용)
X_test 데이터셋 전처리 질문
안녕하세요, X_test 데이터는 X_train과 y_train을 합친 Train 데이터셋과 동일하게 칼럼을 만들어야 한다고 이해했습니다. 혹시, X_test 데이터에 NA 값이 있어 전처리를 진행할때, 해당 칼럼을 삭제하거나 대체하지 않고 row 데이터를 삭제할 순 없나요? Test 데이터셋은 행 삭제를 하면 안된다고 들어서요.. 감사합니다.
- 미해결빅데이터분석기사 실기대비 (R 활용)
예상문제와 다른 형식의 데이터가 주어질 때
예상문제와 같이 데이터가 X_train, y_train, X_test 로 세분화된 경우에는 merge 하여 알려주신대로 [model1 ... p3] 작업까지 2번 반복하는 것으로 이해완료하였는데요. 혹시 이번 2회 기출문제와 같이 단순 'Train.csv' 데이터로만 제시되는 경우 이 데이터를 가지고 train/test로 나누고 [model1 ... p3] 작업 1번으로 (반복없이) 완료하는 것이 맞나요? 아니면 나눈 train을 다시 한번 더 나누어, 항상 이 과정을 2번 반복해야 하나요? 미리 답변 감사드려요. 초보인데 주위에 여쭤볼 사람도 없어서 ㅠㅠ 선생님 답글만 기다립니다 ㅠ_ㅠ
- 미해결빅데이터분석기사 실기대비 (R 활용)
문제질문
세 가지 질문이 있습니다. 1. 시험문제가 [2개의 경우 즉, 0 과 1로 되어있는 factor의 '1'일경우를 예측]하는 형태로 출제될 것으로 보시나요? 2. p3의 auc결과보다 p1이나 p2가 더 좋은경우 그걸 쓰면 되는걸까요? 이게아니라면, 결론적으로 p3를 사용할건데 평가를 왜하는건지 궁금합니다. 3. 모델을 만들때, 처음엔 train데이터로 만들고 후에 df로 다시 만드는데, 어짜피 우리가 쓸 모델이 glm과rpart를 합쳐서 쓸거라면 애초에 처음부터 평가도 없이 df로 모델을 만들어도 되지않나 싶은데,, 혹시, 제가 잘못이해해서 그런걸까요?
- 미해결빅데이터분석기사 실기대비 (R 활용)
모델 구축관련
factor 는 아예 제외하고 모델을 만들었는데 실제로 채점할 때는 제외했던 factor를 포함해서 평가하고 채점하는거아닌가요? 그럼 제외하고 평가했던 0.64 보다 많이 낫게 나오나요? factor까지 포함한 전체 데이터로 평가를 안해봐도 되는걸까요?
- 미해결빅데이터분석기사 실기대비 (R 활용)
작업형1,2 관련 질문
안녕하세요! :) 저번에 이어 또 질문이 생겨 이렇게 글을 남기게 되었습니다. 작업형1번 문제를 풀다보니 막히는 부분이 생겼는데 도저히 어떤식으로 접근을 해야할 지 감이 안잡혀 질문드리고 싶습니다. 먼저 문제입니다. https://www.kaggle.com/vasilis73/sales-train <sales_train데이터 세트에서 가장 많이 판매된 상품(item_id) 3가지와 전체 상품에 대하여 상품 판매가(item_price) 표준편차 차이를 구하시오> 가장 높은 상품 판매가격 3가지라면 내림차순 정렬해서 풀 수 있을 것 같은데 item_id의 빈도? 를 구해야할 것 같다는 생각이 드는데요, 어떤 식으로 풀어나가야할 지 풀이 부탁드리겠습니다! 마지막으로 작업형 2에 관한 질문입니다 작업형2에서 위의 데이터를 다룰때 chr형 데이터를 전부 범주형태(factor)로 바꿔줘야 하는건지 궁금합니다. 종속변수인 Churn만 팩터형으로 바꿔주고 나머지는 안바꾸고 진행을 하였는데 모델링 코드를 짜고 실행을 시키니 에러가 뜨는것도 아니고 무한 모래시계가 뜨면서 멈춰버립니다... chr형을 안바꿔줘서 그런걸까요? # model1 <- train(Churn ~., data = train, method = 'glm') 꼭 바꿔줘야하는 상황과 안바꿔줘도 되는 상황 같은 게 있는지 궁금합니다.
- 미해결빅데이터분석기사 실기대비 (R 활용)
작업형 2유형 답안 제출시
안녕하세요, 이번엔 간단한 질문 하나 드릴게요.. 작업형 2유형에서 train, test 데이터셋으로 나눈 후 auc 값을 확인한 후 성능이 괜찮으면 전체 데이터셋으로 모델 구축해서 주어진 test 데이터셋으로 predict 하잖아요. 시험 환경(구름)에서는 라인별 실행이 안되기 때문에 전체 실행을 해야하는데, 그러면 코드를 끝까지 다 작성한 후 제출할텐데, auc 성능을 확인하기 위해선 어떻게 해야할까요? 중간에 print(auc(test$gender, p3[,2])) 이렇게 작성한 후에 밑에 쭉 코딩을 하고 write.csv() 해도 괜찮을까요? 그렇게 하면 csv로 write도 하고 실행결과 화면에서 auc 값도 출력되니깐.. 아니면 또 다른 방법이 있는걸까요? 감사합니다.
- 미해결빅데이터분석기사 실기대비 (R 활용)
작업형 제2유형 범주형 변수 관련
저번에 알려주신 기능을 사용해서 변수들을 범주형으로 바꿨는데도 오류가 나네요 왜 그럴까요 ㅠㅠ
- 미해결빅데이터분석기사 실기대비 (R 활용)
glm() 함수로 모델 구축시와 train(method = 'glm') 모델 구축시 차이
안녕하세요!! predict(~, type ='response')로 모델을 예측하면 출력값이 이런식으로 0~1 사이의 값이 출력되는데, 강사님이 사용하신 train() 함수로 모델 구축을 한 후 predict(model3, newdata = test, type = 'prob')를 실행하면 0으로 분류했을 때의 확률이 3개의 값만 존재하는데 이 부분이 잘 이해가 안가서 글 남깁니다!!
- 미해결빅데이터분석기사 실기대비 (R 활용)
Test 데이터도 전처리 하나요?
안녕하세요, 질문 사항이 또 있어 글 남깁니다. 질문1) Train데이터에서 결측치 및 이상치를 대체하는 작업을 했다면, Test 데이터도 동일하게 전처리 (결측값, 이상치 등) 작업을 진행해야 하나요? 질문2) 원본 데이터의 변수가 a,b,c,d,e,f로 독립변수 5개(a,b,c,d,e), 결과변수1개(f)라고 가정할때, 전처리를 하여 Train데이터에서 사용한 변수가 a,c,d 이면 Test 데이터에서도 a,c,d 변수만 사용해서 분석해야 하나요? 감사합니다~^^
- 미해결빅데이터분석기사 실기대비 (R 활용)
평가지표 r2 score
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 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
- 미해결빅데이터분석기사 실기대비 (R 활용)
모형 구축 전 정규화/표준화 문의
안녕하세요, 강의 잘 들었습니다. 궁금한 점이 생겨서 질문하나 드립니다. 모형을 구축하기 전에 결측값, 이상치에 대해서 삭제 및 대체를 진행하고 추가적으로 정규화(range) / 표준화(center, scale)을 작업을 해야 한다고 들었습니다. 질문1) 강의대로 정규화나 표준화 작업을 하는 것과 하지 않고 그냥 진행했을때랑 성능이 많이 차이가 나는지? 질문2) 만약에 모델 구축 전에 정규화 작업을 한다고 하면 a=preProcess(train_data, method=c('range')) b=predict(a, train_data) 이렇게 진행하면 되는지? 질문3) 질문2가 맞다면 결과변수가 연속형 데이터일때는 정규화 할때 결과변수는 제외하고 해야하는지? 질문4) model1=train(종속변수~., df, method=c('glm'), preProc=c('range')) 이렇게 코드를 짜도 질문2 와 똑같은 뜻인지 궁금합니다. 감사합니다.
- 미해결빅데이터분석기사 실기대비 (R 활용)
작업형 2번 관련 (result, auc등)
안녕하세요 올려주신 강의 도움 많이 되고 있습니다! 혼자 공부를 하다보니 몇가지 궁금한 점이 생겼는데요, 첫번째로, 한국데이터산업진흥원에서 발표한 실기 환경 체험하기에서는 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]) 질문이 좀 많은데 양해를 구하고 답변 부탁드립니다.
- 미해결빅데이터분석기사 실기대비 (R 활용)
작업형 제2유형 관련 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 알려주신 코드를 손에 익히려 노력하고 있습니다 :) 다름이 아니라, 해당 코드를 다른 데이터에도 적용해보다 궁금한 점이 있어서 질문 드립니다 ! 1. 제가 실행한 과정 중에 잘못된 부분이 있을까요? 2. train과 test를 나누고 평가지표로 f1 score도 구하려 했는데 error가 뜹니다, 이유를 알 수 있을까요 ? p4 <- as.factor(ifelse(p3[,2]>0.5, 1, 0)) tmp <- caret::confusionMatrix(p4,t_test$Response) 3. 강의 중에 작업형 제2유형에서 df <- df%>%select(-c(1,5,6))를 하셨는데, 첫 번째 칼럼인 cust_id를 제거한 이유가 의미있는 정보가 아닌 단순 정보라서 제거하신게 맞나요? 감사합니다 :) (아래는 제가 실행한 R-code 입니다 !) train <- read.csv("https://raw.githubusercontent.com/Datamanim/datarepo/main/insurance/train.csv", stringsAsFactors=T) test <- read.csv("https://raw.githubusercontent.com/Datamanim/datarepo/main/insurance/test.csv", stringsAsFactors=T) str(train) summary(train) unique(train$Region_Code) train$Driving_License <- as.factor(train$Driving_License) train$Previously_Insured <- as.factor(train$Previously_Insured) train$Response <- as.factor(train$Response) train <- train %>% select(-c(1,5)) inx <- createDataPartition(train$Response,p=0.7,list=F) t_train <- train[inx,] t_test <- train[-inx,] model1 <- train(Response~., data=t_train, method="glm") model2 <- train(Response~., data=t_train, method="rpart") p1 <- predict(model1,t_test,type="prob") p2 <- predict(model2,t_test,type="prob") p3 <- (p1+p2)/2 auc(t_test$Response,p3[,2]) str(test) summary(test) test$Driving_License <- as.factor(test$Driving_License) test$Previously_Insured <- as.factor(test$Previously_Insured) test <- test %>% select(-c(1,5)) model1 <- train(Response~., data=train, method="glm") model2 <- train(Response~., data=train, method="rpart") p1 <- predict(model1,test,type="prob") p2 <- predict(model2,test,type="prob") p3 <- (p1+p2)/2 resut <- data.frame(result=p3[,2]) print(result)
- 미해결빅데이터분석기사 실기대비 (R 활용)
작업형 제 2유형 질문2
어제 남긴 질문을 다음날 바로 답해주셔서 너무 감사했고, 설명도 좋았습니다. 작업형 2유형 질문을 하나 더 하고 싶어서 글을 올리게 됐습니다. 선생님께서 알려주신 방법대로 했는데 계속 오류가 걸리네요. (p1의 객체를 찾을수 없다고 나옵니다.) 아마 변수가 수치형이 아니라 범주형이라 그런거 같은데 이런 문제는 어떻게 해야 쉽게 풀 수 있을까요?https://www.kaggle.com/zhijinzhai/loandata/version/1 문제: 다음은 고객의 대출정보인 Loan 데이터 세트이다. 전체 데이터를 7:3으로 훈련 데이터와 테스트 데이터로 분할하고, 테스트 데이터로 고객의 대출 상환(loan_status)을 예측하고 csv 포맷으로 제출하시오. 문제의 csv파일을 첨부하고 싶은데 그런 기능이 없어서 링크라도 걸어드립니다.
- 미해결빅데이터분석기사 실기대비 (R 활용)
training set, test set 나누는 문제
안녕하세요. 지난번 답변에 감사드립니다. 이번에는 trainning set과 test set을 나누는 것에 대한 질문입니다. 작업형 2유형 문제의 예시에는 이미 train데이터(X_train, y_train)와 test(X_test)데이터가 나누어져 있습니다. 그리고 train데이터를 이용하여 모형을 만들어 test데이터에 적용하여 분류를 하라고 되어 있습니다. 이경우에도 train set을 학습용과 검증용으로 나누어 모델링하고 모델별 성능을 검증해야 하는지요? 강의내용에는 glm과 rpart를 이용한 모델의 결과를 평균하는 것으로 정해져 있기에, 굳이 train데이터의 70퍼센트를 학습용으로 뽑고 나머지 30%를 검증용으로 나누어 학습모델(glm+rpart)의 성능검증을 하는 이유를 잘 모르겠습니다. 다른 모델들은 선택에서 배제되어 있기에 이와 같은 검증이 필요한지 의문입니다.
- 미해결빅데이터분석기사 실기대비 (R 활용)
작업형 제2유형
제가 비전공자에다가 관련 지식이 부족해 직접 작업을 수행하는데 있어 어려움이 있습니다. 문제는 이번에 수제비에서 낸 문제집에서 따왔습니다. 문제: 다음은 mtcars데이터 세트로 32개 자동차들의 디자인과 성능을 비교한 데이터이다. 훈련 데이터와 평가데이터를 7:3으로 분할한 후 연비(mpg)를 예측하는 최적모델을 만들고 RMSE로 평가 결과를 구하시오. 이 문제를 선생님이 알려주신 방법인 glm과 rpart를 활용한 방법으로 풀려고 하는데 계속 오류가 나거나 숫자가 이상하게 나옵니다. 혹시 이 문제에 대한 답을 스크립트로 적어주실 수 있으신가요? 데이터는 유명한 데이터 세트인 mtcars가 맞습니다. 제가 워낙 부족하다보니까 최대한 자세하게 R 스크립트로 보여주시면 감사하겠습니다. ㅠㅠ
- 미해결빅데이터분석기사 실기대비 (R 활용)
유형별 예시문제
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 작업형 제1유형에서 "mtcars 데이터셋(mtcars.csv)의 qsec 컬럼을 최소최대 척도(Min-Max Scale)로 변환한 후 0.5보다 큰 값을 가지는 레코드 수를 구하시오." 라고 했는데 어떤 method를 적용해야하나요 ? 혹시 적용시킬 method가 없다면 어떤 코드로 해당 문제를 풀어나가야 하는지 궁금합니다. 감사합니다 :)