R 언어 - 1초 Logistic 회귀 분석

13500 단어 R 데이터 분석

R 언어 - 1초 Logistic 회귀 분석

  • 말은 많이 하지 말고
  • 코드:
  • 문제 영역:
  • 말을 많이 하지 말고 털어놓아라


    코드:

    //    :  Logistic      
    //      R.Studio,    
    
    # Read in Data
    # myfile<-read.csv(file.choose(),header=FALSE) 
    install.packages("AER")
    library(AER)
    data(CreditCard)
    View(CreditCard)
    summary(CreditCard)
    
    bankcard <- CreditCard
    write.csv(bankcard,file = "bankcard.csv")
    
    #             
    set.seed(102)
    select <- sample(1:nrow(bankcard),nrow(bankcard)*0.7)
    train <- bankcard[select,]
    test <- bankcard[-select,]
    
    
    card_glm <- glm(formula = card ~ ., family = "binomial", data = train)
    summary(card_glm)
    
    
    
    result <- predict(card_glm, newdata = test, type = "response")
    test.y_hat <- ifelse(result > 0.5, "yes", "no")
    
    result_all <- data.frame(Prediction=test.y_hat, 
                  Prob_for_yes=round(result,3),
                  Actual=test$card)
    result_all
    
    #        
    accuracy.lr <- sum(test.y_hat==test$card) / length(test.y_hat)
    accuracy.lr
    
    cm1 <- table(test$card, test.y_hat, dnn = c("Actual","Prediction"))
    cm1
    
    
    #     ,    
    step(card_glm2, direction = "both", data = train)
    
    bankcard <- subset(CreditCard, 
                       select = c(card, reports, expenditure, dependents, active))
    
    
    #                  
    set.seed(102)
    select <- sample(1:nrow(bankcard),nrow(bankcard)*0.8)
    train <- bankcard[select,]
    test <- bankcard[-select,]
    
    
    card_glm2 <- glm(formula = card ~ ., family = "binomial", data = train)
    summary(card_glm2)
    
    
    result <- predict(card_glm2, newdata = test, type = "response")
    test.y_hat <- ifelse(result > 0.5, "yes", "no")
    
    result_all <- data.frame(Prediction=test.y_hat, 
                             Prob_for_yes=round(result,3),
                             Actual=test$card);
    
    
    accuracy.lr <- sum(test.y_hat==test$card) / length(test.y_hat)
    accuracy.lr
    
    cm2 <- table(test$card, test.y_hat, dnn = c("Actual","Prediction"))
    cm2
    
    
    

    문제 영역:

  • Warning messages: 1: glm.fit: 알고리즘에 집합이 없습니다 2:glm.fit: 의합 확률로 계산하면 수치 0 또는 1
  • 설명: 이 모델에서 이 문제는 결과에 영향을 주지 않습니다.하지만 해결이 안 돼 본인이 교체 횟수를 수정한 뒤에도 마찬가지다.
  • 연락처:[email protected]
  • 좋은 웹페이지 즐겨찾기