Python: entrenamiento de muestra aleatoria y datos de prueba del diccionario

A veces, mientras trabajamos con el algoritmo de aprendizaje automático, podemos tener problemas en los que necesitamos diferenciar los datos de entrenamiento y prueba al azar. Este es un problema muy común y la solución es deseable para los dominios de Machine Learning. Este artículo analiza el enfoque para resolver esto sin usar bibliotecas externas.

Método: Usando keys() + random.randint()cálculos +
Este problema se puede resolver usando una combinación de las funciones anteriores. En este, realizamos la tarea de extracción de claves aleatorias mediante randint(), a partir de las claves extraídas mediante keys(). Los cálculos lógicos se realizan para obtener los datos de prueba y entrenamiento separados.

# Python3 code to demonstrate working of 
# Random Sample Training and Test Data
# Using keys() + randint() + computations
import random
  
# initializing dictionary
test_dict = {'gfg' : 4, 'is' : 12, 'best' : 6, 'for' : 7, 'geeks' : 10}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing ratio
test = 40
training = 60
  
# Random Sample Training and Test Data
# Using keys() + randint() + computations
key_list = list(test_dict.keys())
  
test_key_count = int((len(key_list) / 100) * test)
test_keys = [random.choice(key_list) for ele in range(test_key_count)]
train_keys = [ele for ele in key_list if ele not in test_keys]
  
testing_dict = dict((key, test_dict[key]) for key in test_keys 
                                        if key in test_dict) 
training_dict = dict((key, test_dict[key]) for key in train_keys 
                                        if key in test_dict) 
  
# printing result 
print("The testing dictionary is : " + str(testing_dict)) 
print("The training dictionary is : " + str(training_dict)) 
Producción :

El diccionario original es: {‘is’: 12, ‘gfg’: 4, ‘best’: 6, ‘for’: 7, ‘geeks’: 10}
El diccionario de prueba es: {‘is’: 12, ‘for ‘: 7}
El diccionario de entrenamiento es: {‘gfg’: 4, ‘best’: 6, ‘geeks’: 10}

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *