Aprendizaje automático - Distribución de datos

Distribución de datos (Data Distribution)

En el tutorial anterior, solo usamos una cantidad muy pequeña de datos en los ejemplos, con el objetivo de entender diferentes conceptos.

En el mundo real, los conjuntos de datos son mucho más grandes, pero al menos en las etapas iniciales del proyecto, es difícil recopilar datos del mundo real.

¿Cómo obtenemos grandes conjuntos de datos?

Para crear un gran conjunto de datos para pruebas, utilizamos el módulo NumPy de Python, que viene con muchos métodos para crear conjuntos de datos aleatorios de cualquier tamaño.

Ejemplo

Crear un array que contenga 250 números flotantes aleatorios entre 0 y 5:

import numpy
x = numpy.random.uniform(0.0, 5.0, 250)
print(x)

Ejecutar Ejemplo

Histograma

Para visualizar el conjunto de datos, podemos dibujar un histograma de los datos recopilados.

Vamos a usar el módulo Matplotlib de Python para dibujar histogramas:

Ejemplo

Dibujar histograma:

import numpy
import matplotlib.pyplot as plt
x = numpy.random.uniform(0.0, 5.0, 250)
plt.hist(x, 5)
plt.show()

Resultados:


Ejecutar Ejemplo

Explicación del Histograma

Usamos el array del ejemplo anterior para dibujar 5 gráficos de barras.

La primera columna representa cuántos valores están entre 0 y 1 en el array.

La segunda columna representa cuántos valores están entre 1 y 2.

etc.

Los resultados que obtenemos son:

52 valores están entre 0 y 1
48 valores están entre 1 y 2
49 valores están entre 2 y 3
51 valores están entre 3 y 4
50 valores están entre 4 y 5

Notas:Los valores del array son números aleatorios y los resultados no se mostrarán completamente igual en su computadora.

Distribución de Grandes Datos

Un array con 250 valores no se considera grande, pero ahora sabe cómo crear un conjunto de valores aleatorios y, cambiando los parámetros, puede crear un conjunto de datos del tamaño deseado.

Ejemplo

Crear un array con 100000 números aleatorios y mostrarlos con un histograma de 100 columnas:

import numpy
import matplotlib.pyplot as plt
x = numpy.random.uniform(0.0, 5.0, 100000)
plt.hist(x, 100)
plt.show()

Ejecutar Ejemplo