Conjuntos de datos en Keras

Keras es una biblioteca de Python que se usa ampliamente para entrenar modelos de aprendizaje profundo. Uno de los problemas comunes en el aprendizaje profundo es encontrar el conjunto de datos adecuado para desarrollar modelos. En este artículo, veremos la lista de conjuntos de datos populares que ya están incorporados en el keras.datasetsmódulo.

MNIST (Clasificación de 10 dígitos):
este conjunto de datos se utiliza para clasificar los dígitos escritos a mano. Contiene 60.000 imágenes en el conjunto de entrenamiento y 10.000 imágenes en el conjunto de prueba. El tamaño de cada imagen es de 28×28 .

from keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()

Devoluciones:

  • x_train, x_test: una array de enteros sin signo (0-255) de datos de imagen en escala de grises con forma (num_samples, 28, 28).
  • y_train, y_test: una array de números enteros sin signo (0-255) de etiquetas de dígitos (enteros en el rango 0-9) con forma (num_samples,).

Moda-MNIST (clasificación de 10 categorías de moda):

Este conjunto de datos se puede usar como un reemplazo directo para MNIST. Consta de 60 000 imágenes en escala de grises de 28 × 28 de 10 categorías de moda, junto con un conjunto de prueba de 10 000 imágenes. Las etiquetas de clase son:

Etiqueta Descripción
0 camiseta/parte superior
1 Pantalón
2 Pull-over
3 Vestir
4 Abrigo
5 Sandalia
6 Camisa
7 zapatilla de deporte
8 Bolsa
9 Botín
from keras.datasets import fashion_mnist
(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()

Devoluciones :

  • x_train, x_test: una array de enteros sin signo (0-255) de datos de imagen en escala de grises con forma (num_samples, 28, 28).
  • y_train, y_test: una array de números enteros sin signo (0-255) de etiquetas de dígitos (enteros en el rango 0-9) con forma (num_samples,).

CIFAR10 (clasificación de 10 etiquetas de imagen):

Este conjunto de datos contiene 10 categorías diferentes de imágenes que se utilizan ampliamente en tareas de clasificación de imágenes. Consta de 50 000 imágenes de entrenamiento en color de 32 × 32, etiquetadas en más de 10 categorías y 10 000 imágenes de prueba. El conjunto de datos se divide en cinco lotes de entrenamiento, cada uno con 10000 imágenes. El lote de prueba contiene exactamente 1000 imágenes seleccionadas al azar de cada clase. Los lotes de entrenamiento contienen las imágenes restantes en orden aleatorio, pero algunos lotes de entrenamiento pueden contener más imágenes de una clase que de otra. Entre ellos, los lotes de entrenamiento contienen exactamente 5000 imágenes de cada clase. Las clases son completamente mutuamente excluyentes. No hay superposición entre automóviles y camiones. Las etiquetas de clase son:

Etiqueta Descripción
0 avión
1 automóvil
2 pájaro
3 gato
4 ciervo
5 perro
6 rana
7 caballo
8 Embarcacion
9 camión
from keras.datasets import cifar10
(x_train, y_train), (x_test, y_test) = cifar10.load_data()

Devoluciones:

  • x_train, x_test: una array de enteros sin signo (0-255) de datos de imagen RGB con forma (num_samples, 3, 32, 32) o (num_samples, 32, 32, 3) según la configuración del backend image_data_format de channel_first o channel_last respectivamente . El valor «3» en la forma se refiere a los 3 canales RGB.
  • y_train, y_test: una array de números enteros sin signo (0-255) de etiquetas de categoría (enteros en el rango 0-9) con forma (num_samples, 1).

CIFAR100 (clasificación de 100 etiquetas de imagen):

Este conjunto de datos contiene 10 categorías diferentes de imágenes que se utilizan ampliamente en tareas de clasificación de imágenes. Consta de 50 000 imágenes de entrenamiento en color de 32 × 32, etiquetadas en más de 10 categorías y 10 000 imágenes de prueba. Este conjunto de datos es como el CIFAR-10, excepto que tiene 100 clases que contienen 600 imágenes cada una. Hay 500 imágenes de entrenamiento y 100 imágenes de prueba por clase. Las 100 clases del CIFAR-100 se agrupan en 20 superclases. Cada imagen viene con una etiqueta «fina» (la clase a la que pertenece) y una etiqueta «gruesa» (la superclase a la que pertenece).

from keras.datasets import cifar100
(x_train, y_train), (x_test, y_test) = cifar100.load_data(label_mode='fine')

Devoluciones:

  • x_train, x_test: una array de enteros sin signo (0-255) de datos de imagen RGB con forma (num_samples, 3, 32, 32) o (num_samples, 32, 32, 3) según la configuración del backend image_data_format de channel_first o channel_last respectivamente . El valor «3» en la forma se refiere a los 3 canales RGB.
  • y_train, y_test: una array de enteros sin signo (0-255) de etiquetas de categoría (enteros en el rango 0-99) con forma (num_samples, 1).

Argumentos:

  • label_mode : «fino» o «grueso».

Precios de la vivienda en Boston (regresión):

Este conjunto de datos se tomó de la biblioteca StatLib que se mantiene en la Universidad Carnegie Mellon. Este conjunto de datos contiene 13 atributos de casas en diferentes ubicaciones alrededor de los suburbios de Boston a fines de la década de 1970. Los objetivos son los valores medianos de las casas en un lugar (en k$). El conjunto de entrenamiento contiene datos de 404 hogares diferentes, mientras que el conjunto de prueba contiene datos de 102 hogares diferentes

from keras.datasets import boston_housing
(x_train, y_train), (x_test, y_test) = boston_housing.load_data()

Devoluciones:

  • x_train, x_test: una array numpy de valores de diferentes atributos con forma (num_samples, 13) .
  • y_train, y_test: una array numpy de valores de diferentes atributos con forma (num_samples, ).

Argumentos:

  • seed : semilla aleatoria para barajar los datos antes de calcular la división de prueba.
  • test_split : fracción de los datos para reservar como conjunto de prueba.

Reseñas de películas de IMDB (Clasificación de sentimientos):

Este conjunto de datos se utiliza para la clasificación binaria de opiniones, es decir, positivas o negativas. Consta de 25.000 reseñas de películas de IMDB, etiquetadas por sentimiento (positivo/negativo). Estas revisiones ya han sido preprocesadas y cada revisión está codificada como una secuencia de índices de palabras (enteros). Estas palabras están indexadas por la frecuencia general de su presencia en el conjunto de datos. Por ejemplo, el número entero «5» codifica la quinta palabra más frecuente en los datos. Esto permite operaciones de filtrado rápido, como considerar solo las 5000 palabras principales como vocabulario modelo, etc.

from keras.datasets import imdb
(x_train, y_train), (x_test, y_test) = imdb.load_data()

Devoluciones:

  • x_train, x_test : lista de secuencias, que son listas de índices (enteros). Si el argumento num_words era específico, el valor de índice máximo posible es num_words-1. Si se especificó el argumento maxlen, la mayor longitud de secuencia posible es maxlen.
  • y_train, y_test : lista de etiquetas de enteros (1 para positivo o 0 para negativo).

Argumentos:

  • num_words(int o None) : Las palabras más frecuentes a tener en cuenta. Cualquier palabra menos frecuente aparecerá como valor «oov_char» en los datos de secuencia.
  • skip_top(int) : Top palabras más frecuentes para ignorar (aparecerán como valor oov_char en los datos de secuencia).
  • maxlen(int) : Longitud máxima de secuencia. Cualquier secuencia más larga será truncada.
  • seed(int) : Semilla para el barajado de datos reproducibles.
  • start_char(int) : El inicio de una secuencia se marcará con este carácter. Establézcalo en 1 porque 0 suele ser el carácter de relleno.
  • oov_char(int) : las palabras que se eliminaron debido al límite de num_words o skip_top se reemplazarán con este carácter.
  • index_from(int) : Indexa palabras reales con este índice y superior.

Clasificación de temas de noticias de Reuters:

Este conjunto de datos se utiliza para la clasificación de texto multiclase. Consta de 11.228 cables de noticias de Reuters, etiquetados sobre 46 temas. Al igual que el conjunto de datos de IMDB, cada cable está codificado como una secuencia de índices de palabras (las mismas convenciones).

from keras.datasets import reuters
(x_train, y_train), (x_test, y_test) = reuters.load_data()

Devoluciones:

  • x_train, x_test : lista de secuencias, que son listas de índices (enteros). Si el argumento num_words era específico, el valor de índice máximo posible es num_words-1. Si se especificó el argumento maxlen, la mayor longitud de secuencia posible es maxlen.
  • y_train, y_test : lista de etiquetas de enteros (1 para positivo o 0 para negativo).

Argumentos:

  • num_words(int o None) : Las palabras más frecuentes a tener en cuenta. Cualquier palabra menos frecuente aparecerá como valor «oov_char» en los datos de secuencia.
  • skip_top(int) : Top palabras más frecuentes para ignorar (aparecerán como valor oov_char en los datos de secuencia).
  • maxlen(int) : Longitud máxima de secuencia. Cualquier secuencia más larga será truncada.
  • seed(int) : Semilla para el barajado de datos reproducibles.
  • start_char(int) : El inicio de una secuencia se marcará con este carácter. Establézcalo en 1 porque 0 suele ser el carácter de relleno.
  • oov_char(int) : las palabras que se eliminaron debido al límite de num_words o skip_top se reemplazarán con este carácter.
  • index_from(int) : Indexa palabras reales con este índice y superior.

Publicación traducida automáticamente

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