library(captchaReceita) library(dplyr) library(ggplot2) library(tidyr) library(stringr) library(caret)
for(i in 1:100) { dest = sprintf("data-raw/captchas/captcha%05d.jpeg", i) download(dest) Sys.sleep(1) }
tmp <- tempfile() for(i in 1:100) { download(tmp) d <- ler(tmp) print(desenhar(d)) classificar_raw(d, 'data-raw/salvos') } file.remove(tmp) rm(tmp)
arqs <- dir('data-raw/salvos', full.names = TRUE) d <- montar_bd_treino(arqs) d <- d[!is.na(d$letra), ] saveRDS(d, 'data-raw/treino.rds')
data(treino) set.seed(123) modelo <- ajustar_modelo(d, prop = .8) saveRDS(modelo, 'data-raw/modelo.rds')
data(modelo) modelo$d_teste$pred <- predict(modelo$modelo, modelo$d_teste) acertos <- table(modelo$d_teste$pred, modelo$d_teste$letra) # pander::pander(acertos)
tema <- theme(axis.text = element_blank(), axis.ticks = element_blank(), axis.title = element_blank()) modelo2 <- readRDS('data/modelo_SVM.rds') m_stack <- readRDS('data/m_stack.rds') l <- dir('data-raw/captchas', full.names = TRUE) a <- sample(l, 1) a %>% ler() %>% desenhar() decodificar_stack(a, modelo, modelo2, m_stack) for(i in 1:100) { arq <- download() d <- arq %>% ler (d %>% desenhar() + tema) %>% print saveRDS(d, 'x.rds') arrumar_bd('x.rds', spr = F) %>% desenhar system.time(res <- decodificar_stack(arq, modelo, modelo2, m_stack)) print(res) }
# d_stack <- data.frame(y = factor(treino$letra), # x1 = predict(modelo$modelo, treino), # x2 = predict(modelo2$modelo, treino)) # # in_train <- createDataPartition(d_stack$y, p = 0.7)[[1]] # d_stack_train <- d_stack[in_train, ] # d_stack_test <- d_stack[-in_train, ] # # m_stack <- train(y~., data = d_stack_train, method = 'rf') # tab <- table(d_stack_test$y, predict(m_stack, d_stack_test)) # sum(diag(tab))/nrow(d_stack_test)
classificar_online(100, 'data-raw/online/temp', 'data-raw/online/corretos', 'data-raw/online/errados') corrigir_errados('data-raw/online/errados', 'data-raw/online/corretos')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.