TransWikia.com

Creacion y division de datasets

Stack Overflow en español Asked by Brigido on November 30, 2020

Hola estaba realizando un practica en Python con numpy y me surgio el siguiente problema, tengo la variable indices_filas esta al usar .shape me debe dar como respuesta (500,) todo bien.

Pero entonces tengo que crear tres datasets, por medio del uso de indices de filas del nuevo arreglo indices_filas las divisiones son 60/20/20 para train/validation/test, pude completar para cada caso en una línea de código y luego me muestra la plantilla de código :

# calcule el total del arreglo indices_filas
n = #aqui va indices_filas (supongo)

# calcule los valores de training set, no hardcoded
entre_begin = # n[:60] 
entre_finish = # n[60:] 

# calcule los valores de validation set, no hardcoded
val_begin = # n[:20]
val_finish = # n[20:]

# calcule los valores del test set, no hardcoded
prueba_begin = # n[:20]
prueba_finish = # n[20:]

Más o menos asÍ lo he desarrollado, sin embargo, al imprimir el resultado no muestra el valor esperado que deberian ser:

entre_begin = 0  
entre_finish = 300  
val_begin = 300  
val_finish = 400  
prueba_begin = 400  
prueba_finish = 500  

Mi lógica me indica que deberia ser algo así:

entre_begin = n[:60]
entre_finish = (n - entre_begin)[60:] 

val_begin = (n - entre_finish )[:20] 
val_finish = (n - val_begin )[20:] 

prueba_begin = (n - val_finish )[:20] 
prueba_finish = (n - prueba_begin )[20:] 

Así que estoy algo perdido en esta parte de la práctica. Este problema es mas largo y no puse las otras partes porque supongo que están bien pero si desean puedo agregarlas si hacen falta

One Answer

Si he entendido bien tu pregunta, solo tienes que hacer los siguientes porcentajes:

  • 60% de 500 = 300
  • 20% de 500 = 100 (*2 validation y test)

Una vez sabes esto, ya solo tienes que hacer slicing, te pongo un ejemplo explicado:

import numpy as np

vector = np.random.rand(500)

#Escogemos del primero al 300
train = vector[:300]
#Escogemos del 300 al 400
validation = vector[300:400]
#Escogemos del 400 hasta el final
test = vector[400:]

Answered by Rubiales Alberto on November 30, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP