답변함

교재나강의내용대로해도 에러

에러가 나는 이유를 못 찾겠습니다 

그리고 같은 문제를 train() 가 아니고 randomForest 로 하는 내용도 설명 부탁드리겠습니다

(confusionMatrix)

 

0

댓글

댓글 5개
날짜 투표수
  • 안녕하세요 실행하신 전체 코딩 보내주시면

    답변드립니다. 오류 내용은 타켓변수 처리에 문제가 있어 보입니다.

    -1
  • library(dplyr)
    library(caret)
    library(pROC)
    x_test<-read.csv('x_test.csv',fileEncoding = 'euc-kr')
    x_train<-read.csv('x_train.csv',fileEncoding = 'euc-kr')
    y_train<-read.csv('y_train.csv',fileEncoding = 'euc-kr')
    left_join(x_train,y_train,by="cust_id")%>%mutate(index="train")->train
    x_test%>%mutate(index="test")->test
    bind_rows(train,test)->full
    glimpse(full)
    full$gender<-as.factor(full$gender)
    full$index<-as.factor(full$index)
    full<-full[-1]
    colSums(is.na(full))
    full$환불금액<-ifelse(is.na(full$환불금액),0,full$환불금액)
    summary(full)
    data<-preProcess(full,method="center","scale")
    datap<-predict(data,full)
    summary(datap)
    datap%>%filter(index=="train")%>%select(-index)->train
    datap%>%filter(index=="test")%>%select(-index)->test
    glimpse(train)
    glimpse(test)
    ctrl<-trainControl(method='cv',number=10,summaryFunction=twoClassSummary,classProbs=T)
    train(gender~.,data=train,method='rpart',metric="ROC",trControl=ctrl)->md_rpart
    train(gender~.,data=train,method='glm',family=binomial,metric="ROC",trControl=ctrl)->md_glm

    0
  • test$gender 가 결측값으로 남아 있는데 이것이 문제가 되는 것인지요

    0
  • 오류 원인은 2가지입니다.

    첫번째 원인

    교재 224페이지 보시면

    full$gender<-ifelse(full$gender==0,"남성","여성") 누락이 되어 있습니다. 이 부분때에 오류가 발생해요

    두번째 타이핑 오류 datap->data

    datap%>%filter(index=="test")%>%select(-index)->test

     

    아래 정상 코딩 내용을 참조하시기 바랍니다.

    library(dplyr)
    library(caret)
    library(pROC)
    x_test<-read.csv('x_test.csv',fileEncoding = 'euc-kr')
    x_train<-read.csv('x_train.csv',fileEncoding = 'euc-kr')
    y_train<-read.csv('y_train.csv',fileEncoding = 'euc-kr')
    left_join(x_train,y_train,by="cust_id")%>%mutate(index="train")->train
    x_test%>%mutate(index="test")->test
    bind_rows(train,test)->full
    glimpse(full)
    full$gender<-ifelse(full$gender==0,"남성","여성")
    full$gender<-as.factor(full$gender)
    full$index<-as.factor(full$index)
    full<-full[-1]
    colSums(is.na(full))
    full$환불금액<-ifelse(is.na(full$환불금액),0,full$환불금액)
    summary(full)
    data<-preProcess(full,method="center","scale")
    data<-predict(data,full)
    summary(data)
    data%>%filter(index=="train")%>%select(-index)->train
    data%>%filter(index=="test")%>%select(-index)->test
    glimpse(train)
    glimpse(test)
    colSums(is.na(train))
    colSums(is.na(test))
    ctrl<-trainControl(method='cv',number=10,summaryFunction=twoClassSummary,classProbs=T)
    train(gender~.,data=train,method='rpart',metric="ROC",trControl=ctrl)->md_rpart
    train(gender~.,data=train,method='glm',family=binomial,metric="ROC",trControl=ctrl)->md_glm

    0
  • 휴일임에도 빠른 답변 진심으로 감사드립니다

    0

댓글을 남기려면 로그인하세요.

 

원하는 것을 찾지 못하셨나요?

질문하기