Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 1.27 KB | None | 0 0
  1. dataset = grep("normal|happy|sad|sleepy|surprised|wink",
  2.                list.files("data_atividade2/"), value=TRUE)
  3. set.seed(202227)
  4. data <- matrix(ncol = 20691, nrow = 90)
  5. c <- 1
  6. for(i in dataset){#monta matriz do poligono geral de um rosto das pessoas
  7.   path <- paste("data_atividade2", i, sep="/")
  8.   img <- read.pnm(file=path, cellres=1)
  9.   vetor_rosto <- as.numeric(img@grey[40:210, 40:160])
  10.   data[c,] <- vetor_rosto
  11.   c <- c + 1
  12. }
  13. data <- as.data.frame(data)
  14. data$resp <- as.factor(rep(c("happy", "normal", "sad", "sleepy", "surprised","wink"), 15))
  15.  
  16. id <- c(1:nrow(data))
  17. id_train <- sample(id, 0.8*nrow(data))
  18. train <- data %>% slice(id_train)
  19. test <- data %>% slice(-id_train)
  20.  
  21. pc <- prcomp(train[-20692], scale=TRUE, retx=FALSE)
  22. train.pc <- as.data.frame(predict(pc, train))
  23. test.pc <- as.data.frame(predict(pc, test))
  24. var.pc.prop <- (pc$sdev^2)/sum(pc$sdev^2)
  25. cum.var <- cumsum(var.pc.prop)
  26. ncomp <- which.max(cum.var > 0.95)
  27.  
  28. train.pc <- train.pc[1:ncomp]
  29. train.pc$resp <- train$resp
  30. test.pc <- test.pc[1:ncomp]
  31. test.pc$resp <- test$resp
  32. lda.fit <- lda(resp ~ ., data = train.pc)
  33.  
  34.  
  35. teste_pred <- predict(lda.fit, test.pc)
  36. tr_pred <- predict(lda.fit, train.pc)
  37. confusionMatrix(teste_pred$class, test.pc$resp)
  38. confusionMatrix(tr_pred$class, train.pc$resp)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement