Quarto
Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org .
Warning: package 'imager' was built under R version 4.3.2
Loading required package: magrittr
Warning: package 'magrittr' was built under R version 4.3.2
Attaching package: 'imager'
The following object is masked from 'package:magrittr':
add
The following objects are masked from 'package:stats':
convolve, spectrum
The following object is masked from 'package:graphics':
frame
The following object is masked from 'package:base':
save.image
Attaching package: 'dplyr'
The following object is masked from 'package:imager':
where
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
library (ggplot2)
library (glmnet)
Warning: package 'glmnet' was built under R version 4.3.2
Loading required package: Matrix
obtain_data <- function (semilla, files, obtain_cels, train_size) {
if (length (obtain_cels) < 2 ) {
stop ("Escoge al menos 2 tipos de celulas: eosino,lympho,monocyte,neutro" )
}
if (train_size > 2000 ) {
stop ("train_size Tiene que ser máximo 2000" )
}
lista.celulas <- list (eosinofilo = vector (),
linfocito = vector (),
monocito = vector (),
neutrofilo = vector ("character" ))
eosinophil <- files[grep ("eosino" , ignore.case = TRUE , files)][1 : train_size]
lymphocyte <- files[grep ("lympho" , ignore.case = TRUE , files)][1 : train_size]
monocyte <- files[grep ("monocyte" , ignore.case = TRUE , files)][1 : train_size]
neutrophil <- files[grep ("neutro" , ignore.case = TRUE , files)][1 : train_size]
celulas <- list (eosinofilo = eosinophil,
linfocito = lymphocyte,
monocito = monocyte,
neutrofilo = neutrophil)
indx_presubset <- vector ("numeric" , length = length (obtain_cels))
for (i in 1 : length (obtain_cels)) {
regex <- obtain_cels[i]
indx_presubset[i] <- grep (regex, names (celulas))
}
celulas.choosen <- celulas[indx_presubset]
names (celulas.choosen) <- names (celulas)[indx_presubset]
set.seed (semilla)
idx_sampleador <- sample (1 : train_size, size = 0.7 * train_size)
train_celulas <- lapply (celulas.choosen, function (x) x[idx_sampleador])
test_celulas <- lapply (celulas.choosen, function (x) x[- idx_sampleador])
imgs_train <- lapply (unlist (train_celulas), load.image)
imgs_test <- lapply (unlist (test_celulas), load.image)
retorno <- list (trainset = imgs_train, testset = imgs_test)
return (retorno)
}
fun_preprocess <- function (imgs) {
im <- imgs
im <- crop.borders (im, nPix = 30 )
im <- grayscale (im)
im <- abs (255 - im)
im <- as.data.frame (im)
im <- im[, ncol (im)]
return (list (pixels = im, imagen = im))
}
files <- list.files ("./dataset2-master/dataset2-master/images/TRAIN" ,full.names = T, recursive = T)
obtain_cels <- c ("monocito" ,"neutrofilo" )
datos <- obtain_data (1234564 ,files= files,obtain_cels = obtain_cels,train_size = 100 )
x <- list (celulas= datos$ trainset,
respuesta = datos$ label_train)
plot (x$ celulas[[1 ]])
# Obtén la ruta del directorio de trabajo actual
ruta_actual <- getwd ()
# Imprime la ruta en la consola
cat ("Directorio de trabajo actual:" , ruta_actual, " \n " )
Directorio de trabajo actual: C:/Users/raule/OneDrive/Documentos/Clasificación de imágenes