¿Qué base de datos es mejor para el aprendizaje automático?

Respuesta corta: PostgreSQL es la segunda mejor base de datos para cualquier cosa (¿PostgreSQL es lo suficientemente bueno?). Esto también se aplica aquí.

Respuesta larga: depende de lo que haya en sus datos (imágenes, texto, series de tiempo, datos de marketing, …) y cuán grande sea (principalmente si cabe en una máquina o no). También depende de cuál es la fuente de sus datos y qué desea hacer con ellos.

Por ejemplo, si solo desea descargar el conjunto de datos de ImageNet y entrenar alguna red además de eso, no tiene sentido utilizar ninguna base de datos. Simplemente almacena sus datos en el disco.

A veces, también desea realizar algunos análisis exploratorios de datos. Entonces realmente depende del tipo de datos. ¿Es mucho texto? Utiliza Elasticsearch. ¿Son muchas columnas con características categóricas / numéricas? Quizás use alguna base de datos SQL. ¿Es súper grande y no estructurado / semiestructurado? Busque alguna base de datos NoSQL como HBase / Cassandra.

Y a veces sus datos ya están en alguna base de datos (como datos sobre compras en tiendas electrónicas). Puede tener sentido usar directamente esa base de datos como fuente en lugar de construir y mantener otra base de datos. Pero tenga cuidado y no sobrescriba nada allí.

Y finalmente, por lo general, no desea almacenar su modelo en la base de datos, sino en otro lugar, porque generalmente es solo un archivo grande, que carga en su aplicación de producción / microservicio.

La respuesta más probable es Spark con Hadoop HDFS.

Las áreas más comunes donde el aprendizaje automático se despegará del análisis estadístico tradicional es con grandes cantidades de datos no estructurados.

Los tres requisitos principales de una base de datos que le permitirán preocuparse menos al experimentar con Big Data son la cantidad, la estructura de datos y el rendimiento de la base de datos. A menos que esté haciendo análisis de transmisión, probablemente no tendrá que preocuparse por la velocidad.

Spark + HDFS funciona bien para esto. La arquitectura Spark le permite analizar en memoria y luego almacenar los datos en una infraestructura grande y de bajo costo.

También escala a producción donde la mayoría de las otras bases de datos requieren todo tipo de recuperación y adiciones de alta disponibilidad. Hadoop no tiene ninguno de esos problemas, ya que cada dato ya estaría duplicado 6 veces.

Esta pregunta es un poco vaga y no hay explicación ni antecedentes.

Asumiré que la pregunta se refiere a elegir un sistema de administración de base de datos (DBMS) para algún tipo de proyecto de aprendizaje automático. Uno no elegiría una “base de datos” (probablemente se refería a DBMS) para un proyecto de aprendizaje automático, sino más bien recoger datos (encontrados en Internet o comprados o hechos o raspados en la web) a los que se aplican los algoritmos de aprendizaje automático.

En general, hay dos tipos de DBMS: SQL (lenguaje de consulta estructurado) y NoSQL (no SQL). Uno debería tomar un curso de Bases de datos para comprender completamente cómo funcionan las bases de datos, pero los artículos de Wikipedia deberían comenzar bien:

SQL

NoSQL

La principal diferencia es cómo se almacenan los datos, también conocido como. cómo se estructuran los datos. Algunas buenas referencias sobre la discusión de SQL vs NoSQL:

SQL vs NoSQL Diferencias en la base de datos explicadas con pocos DB de ejemplo

SQL vs. NoSQL: lo que necesita saber

Bases de datos NoSQL explicadas

SQL (MySQL) vs NoSQL (CouchDB)

Básicamente, eliges SQL o NoSQL en función del tipo de datos que tienes. Es una forma de estructurar sus datos. Una vez que se haya decidido por SQL o NoSQL, elige un sistema de gestión de base de datos. Dentro del tipo de estructura, todos los sistemas son extremadamente similares. Algunos ejemplos de sistemas de tipo SQL incluyen: MySQL, PostreSQL, SQL Server y SQL lite. Algunos sistemas de tipo NoSQL incluyen MongoDB, Neo4j, Freebase, Microsoft Azure Tables y CouchDB. El sistema generalmente se elige según la preferencia del usuario o, a veces, el rendimiento o la integración dentro de un sistema existente. Sintácticamente, la mayoría de los sistemas son muy similares con posibles ligeras variaciones.

Si se refería a qué datos son mejores para el aprendizaje automático, entonces usted, mi amigo, está perdido.

Bueno, en realidad no hay ninguna mejor base de datos específicamente para el aprendizaje automático como tal. El objetivo principal del aprendizaje automático es básicamente obtener suficientes datos de calidad para que su algoritmo / modelo pueda entrenarse en él para aprender las correlaciones / patrones presentes dentro del conjunto de datos para resolver problemas específicos.

Estos datos pueden provenir de grandes bases de datos como Oracle, MySQL, Redis, MongoDB, etc. o incluso de una pequeña hoja de cálculo de Excel.

MLDB: la base de datos de aprendizaje automático

MLDB es una base de datos de código abierto diseñada para el aprendizaje automático. Envíele comandos a través de una API RESTful para almacenar datos, explore con SQL, luego entrene modelos de aprendizaje automático y exponga como API.

No sé qué otras bases de datos describieron las otras, pero para mí, es MUMPS. Describe una arquitectura hipotética que no define qué tan grande es un personaje. Solo hay un tipo de datos, cadenas. CJ Date, uno de los diseñadores de bases de datos relacionales dijo que si volviera a comenzar, solo tendría un tipo de datos, cadenas de caracteres. Llevamos el concepto a otra dimensión, matrices dispersas y sin asignación previa de nada, además de ser multiusuario en todas las plataformas en las que se ejecuta. Si crea el primer elemento en una matriz y luego el elemento millonésimo en la matriz, y ha creado solo dos elementos. También MUMPS hace poca distinción entre datos y código. Puede almacenar código en una base de datos, extraerlo y ejecutarlo en tiempo de ejecución. Es hermoso para la IA y el gran almacenamiento de datos. Puede hacer que una computadora portátil se vea como un gran sistema. Tengo el problema de la gira de Knight escrito en MUMPS y he generado más de 311 millones de soluciones en una computadora portátil en este momento y la rutina es sorprendentemente pequeña y es reentrante además de recursiva. Lo mejor de todo es que el intérprete se puede descargar gratis y se ejecutará en Linux. Lo estoy ejecutando actualmente en Ubuntu Mate. Greystone Technologies MUMPS es compatible con UTF-8, el juego de caracteres universal. También está VistA, el sistema que ha operado los hospitales de VA durante 40 años y se puede descargar gratis. Es FOIA y como es, son 180 aspectos del hospital. Es el código fuente que ejecuta el sistema en el intérprete MUMPS. Vaya a Bienvenido a la página de inicio de WorldVistA y vea de qué se trata.

Depende del requisito de su aplicación. Por ejemplo, la arquitectura Hadoop para el procesamiento de datos es diferente del RDBMS tradicional. En mi opinión, para aplicaciones simples se pueden usar bases de datos tradicionales (SQL o NoSQL). Las aplicaciones de ML que requieren un gran procesamiento de datos se pueden procesar con Spark. Para el análisis de investigación, se puede usar MATLAB, también depende de la capacidad de su máquina de procesamiento,

Vamos a probar con Python

http: // Aprendizaje práctico de la máquina …

Mariadb

Ejemplo de diseño de base de datos Fase 1: Análisis