#실습42_로지스틱 회귀 종속변수출력형태 3가지이상인 경우 #iris data: 꽃의 종류별로 구분 set.seed(123) #난수 고정 ind <- sample(1:nrow(iris),nrow(iris) * 0.7, replace = F) ind iris train <- iris[ind, ] test<- iris[-ind, ] train # 로지스틱 모델 만들고 검증하고 데이터를 넣어보면 됨 library(nnet) m <-multinom(Species ~., data = train) #로지스틱 모델 작성 (glm이외에 multinom도 있음) m$fitted.values #df<-data.frame(c(5,4,3),c(4,5,6),c(3,2,1)) #df #max.col(df) # max.col()가장큰 값 찾는 함수 m_class <- max.col(m$fitted.values) m_class #빈도수 구하기 table(m_class) #예측값 구하기 pred <- predict(m, newdata= test, type='class') pred table(pred) #교차분할표 만들기 table(pred, test$Species) #형식 : (예측값,실제값) (11 + 15 + 15)/nrow(test) # 91%정확도 install.packages("caret") library("caret") install.packages("e1071") library("e1071") confusionMatrix(pred, test$Species) # 새로운 자료를 입력하여 꽃의 종류 예측 my <- test my <- my[c(1,2,3),] my <- edit(my) my mypr <-predict(m,newdata = my, type='class') mypr table(mypr) #빈도수확인