¿Cómo realizan las empresas el análisis predictivo utilizando herramientas Hadoop / Big Data a gran escala?

ATA Intentaré dar algunas respuestas de alto nivel. Por lo tanto, una empresa tiene datos en HDFS en algún formato semiestructurado y ya puede satisfacer las necesidades básicas de informes con una herramienta de lenguaje SQL como Hive (Apache Hive TM). A partir de ahí, las herramientas utilizadas dependen de los usuarios y el caso de uso.

Análisis exploratorio / investigativo

El ecosistema de Hadoop no tiene herramientas para esto. En cambio, las herramientas de terceros (algunas de código abierto) se conectan para proporcionar esta funcionalidad.

Visualización

Un siguiente paso común es conectar una herramienta de BI como Tableau Software. Para esto, se conecta a un motor SQL en tiempo real como Impala. Esto no es un análisis predictivo, aunque puede conducir a ideas y acciones, y es un paso común cuando la unidad de negocios tiene una población de usuarios de negocios que están acostumbrados a este tipo de herramienta.

Modelado

Las compañías que usan SAS (Advanced Analytics) tienden a planear conectar SAS a los datos en Hadoop para hacer el mismo tipo de análisis predictivo que ya hicieron en SAS. Aquellos que no usan SAS no tienden a intentar comenzar a usarlo con Hadoop. Lo mismo ocurre con los usuarios de R: intentan obtener conectividad de datos básica con rhdfs, rmr2, plyrmr. Si quieren algo más sofisticado, tienden a considerar Revolution Analytics. Los usuarios que no son R, muy raramente, hablan de comenzar a usar R en el contexto de Hadoop.

Las empresas que no utilizan ninguno de los dos me preguntan si conectar las herramientas de Python a Hadoop y tratar de hacer que algo funcione de esa manera para el modelado exploratorio.

El H2O de 0xdata merece una mención aquí como una plataforma viable para construir modelos interactivamente en Hadoop.

Analítica operacional

Esto es mucho más abierto y construido por ti mismo. Hace unos años, había poco apoyo para construir una tubería de análisis de producción completa. Hoy en día hay muchos más componentes que admiten la creación de análisis operativos en Hadoop. Me centraré principalmente en el código abierto.

ETL

Un problema clave en la operacionalización de la analítica es definir la canalización de datos, por lo que merece mención en el contexto de la analítica, a pesar de que estas no son herramientas analíticas. Anecdóticamente:

  • La colmena y, en menor medida, Pig (¡Bienvenido a Apache Pig!) Se usan donde sea posible, y al menos uno aparece en la mayoría de las implementaciones
  • Donde no sea posible, tal vez la mitad (?) De las implementaciones aún impliquen código de MapReduce sin procesar. Esto suele ser anterior, código heredado
  • Una minoría usa herramientas como Crunch (Apache Crunch – Apache Crunch) o Cascading (Application Platform for Enterprise Big Data) en su lugar para escribir transformaciones distribuidas personalizadas de alto nivel
  • Una gran minoría usa Oozie, o en menor medida Luigi (spotify / luigi) o Azkaban para guiar la tubería

Todavía encuentro que la mayoría de las empresas realizan análisis por lotes / fuera de línea y las hacen ad-hoc, incluso cuando admiten algún propósito operativo. (Por lo tanto, no todos usan una herramienta de flujo de trabajo). Por lo tanto, solo necesitan una herramienta de creación de modelos en torno a la cual se puedan calcular algunos resultados fuera de línea.

Por lo tanto, algunas de las herramientas “exploratorias” anteriores cumplen una función operativa, en la que los analistas o desarrolladores crean manualmente nuevos modelos periódicamente.

Construcción del modelo

Para construir modelos ‘nativamente’ en la plataforma, en el pasado la única herramienta para esto era Mahout (aprendizaje automático escalable y minería de datos). Raramente se usa para nuevos proyectos ahora, pero tiene algunos usos existentes aquí y allá.

Spark (Apache Spark ™ – Lightning-Fast Cluster Computing) tiene una gran promesa para desempeñar el papel que desempeñan muchos de estos componentes: como herramienta ETL, reemplaza a MapReduce y probablemente Pig; También juega un papel similar al Crunch. Su MLLib es el sucesor más probable de Mahout, aunque muy básico hasta ahora. Llegaría a decir que tal vez la mitad de los nuevos proyectos analíticos están experimentando con Spark en Hadoop, aunque la mayoría todavía está en la fase de prueba de concepto.

Actualización / puntuación casi en tiempo real

Pocos despliegues han llegado a implementar la construcción o puntuación de modelos casi en tiempo real. La mayoría construye alguna versión de su propia plataforma de transmisión; algunos usan Storm (Storm, computación distribuida y tolerante a fallas en tiempo real) y pocos están experimentando con Spark Streaming.

Servicio en tiempo real

El servicio en tiempo real de modelos está casi fuera del ámbito de las herramientas de Hadoop, a pesar de que es relevante para el análisis operativo basado en Hadoop. Para esto, es casi todo el código personalizado en un front-end personalizado. En código abierto, hay código abierto (jpmml / openscoring) para calificar modelos PMML, y para herramientas comerciales tienes cosas como Zementis (Inicio – Zementis).

Nuestro propio proyecto Oryx (cloudera / oryx) realiza la puntuación, la construcción y la actualización en tiempo real en Hadoop, aunque como un sistema cerrado completo. Esto tiene sus propios seguidores para las personas que no buscan componentes.

Herramientas de proveedores

En el mundo de las herramientas de proveedores, para el análisis operativo, Wibidata (WibiData | Experience Data-Driven Applications) merece una mención por tener una visión bastante completa de cómo poner en práctica cosas como los recomendadores además de las pilas, incluido HBase. Existen plataformas de proveedores que son convincentes en casos de uso particulares.

Estoy seguro de que hay otros diez que podrías mencionar.

Como hay una gran generación de datos, ya sea en las redes sociales, los dispositivos móviles, los registros en Internet, y el uso de herramientas y técnicas de big data está aumentando, el análisis de información para empresas o anlaysts se ha reducido a un nivel más granular. Por lo tanto, hacer recomendaciones personalizadas posibles como nunca antes. Esta es precisamente la razón por la cual los minoristas en línea, por ejemplo, Amazon, pueden rastrear no solo lo que compró recientemente, sino también su historial de visualización; cómo navegaste y cómo te influyeron las promociones o opiniones.
Tienen tanta información sobre usted que, según su historial, incluso tienen algoritmos para predecir qué producto comprará a continuación.

Todo el proceso de predicción implica la integración de Hadoop con R, llamado RHadoop. Este proceso permite a los estadísticos analizar los datos almacenados en el Sistema de archivos distribuidos de Hadoop (HDFS) o en la base de datos columnar no relacional de HBase que se monta sobre HDFS. Hoy, este proceso está siendo utilizado para poderosos análisis de datos no solo por científicos de datos y estadísticos, sino también por empresas grandes y pequeñas, ya que puede manejar de manera única los datos cada vez mayores. Mire este video sobre cómo R se integra con Hadoop.

Del mismo modo, hadoop también se puede integrar con Python. Para obtener una imagen clara, vea este video sobre la integración de Python con Hadoop.

Hacer predicciones se ha vuelto más fácil
Con el número de datos aumentando día a día, se estima que más del 80% de los datos generados no están estructurados. Este tipo de datos generados a través de chats en la red, conversaciones telefónicas o actividades en las redes sociales no recibió ningún crédito, ya que se ignoró. Sin embargo, los tiempos han cambiado hoy, ya que todos los datos se pueden analizar y podemos obtener información en tiempo real y personalizarla a nivel personal. Digamos, por ejemplo, que nuestros comentarios o reseñas en las redes sociales les permiten mostrar los anuncios más relevantes y adecuados para nosotros. El aumento en la variedad y veracidad de los datos analizados ha sido revolucionario.

¡La nube está en todas partes!
Sin embargo, cuando las organizaciones obtienen todos los datos sobre sus clientes, les resulta imposible optimizar o analizar los datos sin la tecnología o infraestructura adecuadas. Pero las cosas se han vuelto más fáciles, ya que puede alquilar fácilmente un servidor en la nube y analizar sus datos. Por lo tanto, crear modelos predictivos en big data es mucho más fácil y accesible en estos días.
Lea este blog para saber cómo funciona el análisis predictivo con hadoop.

Hadoop maneja grandes datos que los sistemas de TI convencionales no pueden administrar, porque los datos son demasiado grandes (volumen), llegan demasiado rápido (velocidad) o provienen de muchas fuentes diferentes (variedad). Aquí se explica fácilmente qué es Hadoop y cómo funciona Big Data.

Respondiendo a la pregunta cómo:

En diferentes sitios web puede encontrar soluciones sesgadas y recomendaciones que pueden regirse por intereses personales de los propietarios de los sitios web. Es por eso que aquí mencionaré solo las herramientas de código abierto .

La forma más básica es Hadoop + R. El lenguaje R es puramente matemático, tiene bibliotecas estadísticas ricas que facilitan el análisis predictivo.
También hay Apache Spark (puede ejecutarlo con Hadoop o sin él), que tiene herramientas predictivas. Para tareas relativamente comunes, es una solución correcta y es muy popular hoy en día.

Cierto. Buena pregunta. Las grandes empresas lo usan. Por ejemplo, mira todas las empresas de comercio electrónico. Todos usan algoritmos de minería de datos como minería de asociación, minería de secuencias, segmentación de clientes, etc., donde busca respuestas que ya existen en los datos. O usas Mahout o haces implementaciones personalizadas que consideras adecuadas. Estos requieren un amplio procesamiento de datos y es una buena opción para Hadoop.

Para el ML predictivo, tendrá que aprender las funciones de los datos. Esto se retrasa un poco, ya que muchas personas aún están despiertas a este fenómeno. 5 años después, puede esperar avances en esta área. Solo está comenzando.

ScaleR y sparkR de Microsoft están en esa dirección. Así es como va a evolucionar.

Algunos de nosotros todavía usamos la computación en cuadrícula (a través de Sun Grid Engine o un paquete relacionado). Esto es muy simple en comparación con escribir código Hadoop: solo escribe scripts de estilo Unix y divide su trabajo en partes. Por lo general, se necesitan algunas secuencias de comandos especiales para lidiar con los pasos de “reducción”.

Open MPI también es popular. Open MPI le permite mantener los procesos en ejecución entre los pasos de “reducción”. Esto puede ser crítico cuando la carga de datos una y otra vez en cada iteración es demasiado costosa. Usar Open MPI es un poco complicado ya que debes compilar tu código con el compilador especial Open MPI y usar una sintaxis especial.

1 palabra: graphlab

More Interesting

¿Es obligatorio para un aspirante a científico de datos conocer las técnicas de manejo de Big Data?

¿Qué área dentro de la ciencia de datos experimentará el mayor crecimiento laboral para los profesionales de análisis? (cuidado de la salud, riesgo, financiero, etc.)

¿Cuál de los siguientes 2 cursos en la India es mejor para una carrera en ciencia de datos, Udacity o Courseera?

¿Qué significan los datos espaciales?

¿Es una buena idea pasar a Big Data (Hadoop)? Tengo más de 11 años de experiencia en .NET y C ++.

Quiere aprender Big data. ¿Cómo debo aprender desde una perspectiva de prueba, por favor responda?

¿Cuáles son las desventajas de las notebooks iPython para el análisis de datos? ¿Hay algún trabajo de investigación disponible que hable sobre la rigidez y la linealidad del portátil?

¿Qué es el big data en tiempo real?

Cómo usar datos de encuestas para modelar dinámicas de sistemas

¿Dónde podemos encontrar conjuntos de datos para procesar? Quiero usar estos datos para mi proyecto Hadoop.

¿Crees que el aprendizaje automático / ciencia de datos puede contribuir a resolver los problemas sociales, de salud y económicos del mundo?

¿Cuál es la diferencia entre data scientist y big data?

¿Cómo nos pueden decir las estadísticas sobre la causalidad?

¿Por qué no tenemos un sistema de transacción de datos que transfiera datos en forma de sistemas decimales en lugar de binarios (0 y 1) en las computadoras? ¿Cuál es la viabilidad de tener ese tipo de transacción de datos?

Cómo hacer la debida diligencia en la elección de un campamento de ciencia de datos