¿Cómo seleccionar aleatoriamente elementos de una array con NumPy en Python?

Prerrequisitos: Numpy

Los valores aleatorios son útiles en campos relacionados con datos como el aprendizaje automático, las estadísticas y la probabilidad. La función numpy.random.choice() se usa para obtener elementos aleatorios de una array NumPy. Es una función integrada en el paquete NumPy de python.

Sintaxis: numpy.random.choice( a , tamaño = Ninguno, reemplazar = Verdadero, p = Ninguno)

Parámetros:

  • a : una array/lista unidimensional (se generará una muestra aleatoria a partir de sus elementos) o un número entero (se generarán muestras aleatorias en el rango de este número entero)
  • tamaño : int o tupla de enteros (el valor predeterminado es Ninguno, donde se devuelve un solo valor aleatorio). Si la forma dada es (m,n), entonces se extraen mxn muestras aleatorias.
  • reemplazar : (opcional); el valor booleano que especifica si la muestra se extrae con o sin reemplazo. Cuando la muestra es más grande que la población de la lista, el reemplazo no puede ser Falso.
  • p : (opcional); una array unidimensional que contiene probabilidades asociadas con cada entrada en a. Si no se proporciona, la muestra supone una distribución uniforme en todas las entradas de a.

Acercarse

  • Módulo de importación
  • Crear una array de muestra
  • Elija aleatoriamente valores de la array creada
  • Imprime la array así generada.

A continuación se muestra la implementación para arrays 1D y 2D.

Generación de una lista 1-D de muestras aleatorias

Ejemplo 1: 

Python3

import numpy as np
 
prog_langs = ['python', 'c++', 'java', 'ruby']
 
# generating random samples
print(np.random.choice(prog_langs, size=8))
 
# generating random samples without replacement
print(np.random.choice(prog_langs, size=3, replace=False))
 
# generating random samples with probabilities
print(np.random.choice(prog_langs, size=10,
                       replace=True, p=[0.3, 0.5, 0.0, 0.2]))

Producción :

Ejemplo 2:

Python3

import numpy as np
 
samples = 5
# generating random samples
print(np.random.choice(samples, size=10))
 
# generating random samples without replacement
print(np.random.choice(samples, size=5, replace=False))
 
# generating random samples with probabilities
print(np.random.choice(samples, size=5, replace=True))
 
# generating with probabilities
print(np.random.choice(samples, size=15,
                       replace=True, p=[0.2, 0.1, 0.1, 0.3, 0.3]))

Producción:

Generación de una lista 2-D de muestras aleatorias

Ejemplo: 

Python3

import numpy as np
 
prog_langs = ['python', 'c++', 'java', 'ruby']
 
# generating random samples
print(np.random.choice(prog_langs, size=(4, 5)))
 
# generating random samples with probabilities
print('\n')
print(np.random.choice(prog_langs, size=(10, 2),
                       replace=True, p=[0.3, 0.5, 0.0, 0.2]))

Producción:

Ejemplo 2:

Python3

import numpy as np
 
samples = 5
 
# generating random samples
print(np.random.choice(samples, size=(5, 5)))
 
# generating with probabilities
print('\n')
print(np.random.choice(samples, size=(8, 3),
                       replace=True,
                       p=[0.2, 0.1, 0.1, 0.3, 0.3]))

Producción:

Publicación traducida automáticamente

Artículo escrito por mprerna802 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 *