¿Cuáles son algunos buenos conjuntos de datos para aprender algoritmos básicos de aprendizaje automático y por qué?

19

Soy nuevo en el aprendizaje automático y busco algunos conjuntos de datos a través de los cuales puedo comparar y contrastar las diferencias entre los diferentes algoritmos de aprendizaje automático (árboles de decisión, refuerzo, SVM y redes neuronales)

¿Dónde puedo encontrar dichos conjuntos de datos? ¿Qué debería estar buscando al considerar un conjunto de datos?

Sería genial si pudiera señalar algunos conjuntos de datos buenos y también decirme qué los convierte en un buen conjunto de datos.

Conejo conejo
fuente
66
Me pregunto si esta pregunta no se ajusta mejor a opendata.stackexchange.com ... En cuanto a los conjuntos de datos, la mayoría de los libros de texto mencionan dichos conjuntos de datos y los hacen disponibles, muchos ya están disponibles en software estadístico o en bibliotecas para dicho software. También puede ver archive.ics.uci.edu/ml/datasets.html . Por supuesto, otra pregunta es qué hace que algunos conjuntos de datos sean "buenos" para el aprendizaje y otros "malos": es una pregunta interesante.
Tim
Encontrará algunos conjuntos de datos como paquetes en CRAN, como: ElemStatLearn y otros.
kjetil b halvorsen
2
@Tim Debido a que hay un aspecto pedagógico en esta pregunta (por ejemplo, un ejemplo de un "buen" conjunto de datos para fines de aprendizaje es uno que muestra dónde diferentes algoritmos dan resultados muy diferentes) Creo que es más adecuado para CV que para OpenData.
Silverfish
2
Creo que las preguntas sobre los conjuntos de datos desde un punto de vista pedagógico son definitivamente un tema aquí: por ejemplo, qué aspectos del conjunto de datos "Iris" lo hacen tan exitoso como un conjunto de datos de ejemplo / enseñanza / prueba ; Conjuntos de datos construidos para un propósito similar al del cuarteto de Anscombe
Silverfish
@Silverfish: Esto se ha discutido en Meta - "Preguntas sobre conjuntos de datos": ¿posibles excepciones? - Y parece haber habido un acuerdo general con su punto de vista. Pero todavía pienso q esto. es bastante amplio: ¿qué lo distingue claramente de localizar muestras de datos disponibles gratuitamente ?
Scortchi - Restablece a Monica

Respuestas:

16

Los conjuntos de datos en los siguientes sitios están disponibles de forma gratuita. Estos conjuntos de datos se han utilizado para enseñar algoritmos de ML a los estudiantes porque para la mayoría hay descripciones con los conjuntos de datos. Además, se ha mencionado qué tipo de algoritmos son aplicables.

  1. UCI- repositorio de Machine Learning
  2. ML Comp
  3. Imagen de mamografía
  4. Mulan
Estudiantes
fuente
11

Kaggle tiene una gran cantidad de conjuntos de datos que puedes usar para practicar.

(¡Me sorprende que no se haya mencionado hasta ahora!)

Tiene dos cosas (entre muchas otras) que lo convierten en un recurso muy valioso:

  • Un montón de conjuntos de datos limpios. Si bien los conjuntos de datos sin ruido no son realmente representativos de los conjuntos de datos del mundo real, son especialmente adecuados para su propósito: implementar algoritmos ML.
  • También puede ver los modelos ML de otros para el mismo conjunto de datos, lo que podría ser una forma divertida de aprender algunos trucos en el camino. No hace falta decir que el tipo de exposición que obtienes al aprender de los mejores profesionales es, como cualquier otra cosa, muy útil.
revs nz_21
fuente
1
Esta realmente debería ser la respuesta principal porque además de una enorme variedad de conjuntos de datos, los foros para cada desafío son un recurso invaluable para aprender técnicas y trucos, junto con ejemplos de código.
Alex R.
2

Primero, recomendaría comenzar con los datos de muestra que se proporcionan con el software. La mayoría de las distribuciones de software incluyen datos de ejemplo que puede utilizar para familiarizarse con el algoritmo sin tener que lidiar con los tipos de datos y luchar con los datos en el formato correcto para el algoritmo. Incluso si está creando un algoritmo desde cero, puede comenzar con la muestra de una implementación similar y comparar el rendimiento.

En segundo lugar, recomendaría experimentar con conjuntos de datos sintéticos para tener una idea de cómo funciona el algoritmo cuando se sabe cómo se generaron los datos y la relación señal / ruido.

En R, puede enumerar todos los conjuntos de datos en los paquetes instalados actualmente con este comando:

data(package = installed.packages()[, 1])

El paquete R mlbench tiene conjuntos de datos reales y puede generar conjuntos de datos sintéticos que son útiles para estudiar el rendimiento del algoritmo.

El scikit-learn de Python tiene datos de muestra y también genera conjuntos de datos sintéticos / de juguete.

SAS tiene un conjunto de datos de capacitación disponible para descargar y los datos de muestra de SPSS se instalan con el software en C: \ Archivos de programa \ IBM \ SPSS \ Statistics \ 22 \ Samples

Por último, miraría los datos en la naturaleza. Compararía el rendimiento de diferentes algoritmos y parámetros de ajuste en conjuntos de datos reales. Esto generalmente requiere mucho más trabajo porque rara vez encontrará conjuntos de datos con tipos y estructuras de datos que pueda colocar directamente en sus algoritmos.

Para datos en estado salvaje, recomendaría:

Archivo de conjunto de datos de reddit

Lista de KDnugget

Brandco
fuente
1
Para aquellos que no tienen R y no desean descargarlo solo para obtener acceso a estos conjuntos de datos, los conjuntos de datos y las descripciones están disponibles en línea aquí .
gung - Restablece a Monica
0

Los datos de Iris establecen manos abajo. También está en la base R.

manzanas-naranjas
fuente
1
Responda a la parte sustantiva de la pregunta: "... ¿también dime qué los convierte en un buen conjunto de datos?"
whuber
0

En mi opinión, puede comenzar con pequeños conjuntos de datos que no tienen demasiadas características.

Un ejemplo sería el conjunto de datos Iris (para clasificación). Tiene 3 clases, 50 muestras para cada clase con un total de 150 puntos de datos. Un excelente recurso para ayudarlo a explorar este conjunto de datos es esta serie de videos de Data School.

Otro conjunto de datos para pagar es el conjunto de datos de calidad del vino del repositorio UCI -ML. Tiene 4898 puntos de datos con 12 atributos.

Darshan Chaudhary
fuente