Problemas para predecir valores
Publicado por sebastian (1 intervención) el 10/08/2021 21:40:03
Estimada Comunidad
Estoy generando un modelo de regresión con el metodo PLS, con una partición de datos para el entrenamiento, el problema es que al obtener los datos predichos estos me aparecen como NULL nose si me faltara algo.
Copio el Scritp para ver si me pueden ayudar a detectar el error
## Cargar libreria
library(lattice)
library(ggplot2)
library(caret)
## Cargar Datos del Modelo
setwd("E:/06.Diplomado_Geomatica/Modulo_10_RAvanzado/Práctico Módolo X") ## Se debe de cambiar el directorio de trabajo
data <- read.csv('Monteoscuro_practico.csv')
## Dividir Datos
idx2 <- createDataPartition(data$Biomasa, p = 0.6, list = F)
length(idx2)
# particionar los datos usando los datos generados
entrenar2 <- data[idx2, ]
validar2 <- data[-idx2, ]
nrow(entrenar2)+nrow(validar2) == nrow(data)
#Metodo Train
# definir las variables independientes (X) y la dependiente (Y)
X <- data[, 4:20]
Y <- data$Biomasa
# usar la función trainControl() para definir el típo de validación corzada
# K-fold (method = 'cv') con k = 10 (number = 10)
tr_control <- trainControl(method = 'cv', number = 10)
### Metodo PLS
PLS <- train(X, Y, method = "pls", tuneLength=17, trControl = tr_control,
preProcess = c("center", "scale"), metric = "RMSE")
# Segun el modelo, el mejor valor para ncomp es 9.
# podemos ver resultados de varios Ãndices de ajuste para cada modelo PLS
PLS$results
# Valores observados y predichos en todas las repeticiones del modelo
pred_data_pls <-PLS$predict
# podemos seleccionar solo los valores del mejor modelo; ncomp = 13
idx2 <- which(pred_data_pls$ncomp == 13)
# seleccionar en los datos
pred_data_pls <- pred_data_pls[idx2,]
# plot de predichos vs observados
plot(pred_data_pls$obs, pred_data_pls$pred, xlab='Observados', ylab='Predichos', main='PLS',
xlim=c(0,350), ylim=c(0,350))
abline(0,1)
Estoy generando un modelo de regresión con el metodo PLS, con una partición de datos para el entrenamiento, el problema es que al obtener los datos predichos estos me aparecen como NULL nose si me faltara algo.
Copio el Scritp para ver si me pueden ayudar a detectar el error
## Cargar libreria
library(lattice)
library(ggplot2)
library(caret)
## Cargar Datos del Modelo
setwd("E:/06.Diplomado_Geomatica/Modulo_10_RAvanzado/Práctico Módolo X") ## Se debe de cambiar el directorio de trabajo
data <- read.csv('Monteoscuro_practico.csv')
## Dividir Datos
idx2 <- createDataPartition(data$Biomasa, p = 0.6, list = F)
length(idx2)
# particionar los datos usando los datos generados
entrenar2 <- data[idx2, ]
validar2 <- data[-idx2, ]
nrow(entrenar2)+nrow(validar2) == nrow(data)
#Metodo Train
# definir las variables independientes (X) y la dependiente (Y)
X <- data[, 4:20]
Y <- data$Biomasa
# usar la función trainControl() para definir el típo de validación corzada
# K-fold (method = 'cv') con k = 10 (number = 10)
tr_control <- trainControl(method = 'cv', number = 10)
### Metodo PLS
PLS <- train(X, Y, method = "pls", tuneLength=17, trControl = tr_control,
preProcess = c("center", "scale"), metric = "RMSE")
# Segun el modelo, el mejor valor para ncomp es 9.
# podemos ver resultados de varios Ãndices de ajuste para cada modelo PLS
PLS$results
# Valores observados y predichos en todas las repeticiones del modelo
pred_data_pls <-PLS$predict
# podemos seleccionar solo los valores del mejor modelo; ncomp = 13
idx2 <- which(pred_data_pls$ncomp == 13)
# seleccionar en los datos
pred_data_pls <- pred_data_pls[idx2,]
# plot de predichos vs observados
plot(pred_data_pls$obs, pred_data_pls$pred, xlab='Observados', ylab='Predichos', main='PLS',
xlim=c(0,350), ylim=c(0,350))
abline(0,1)
Valora esta pregunta


0