Descripción general de las herramientas modernas de análisis de datos

imagen



Aclararé enseguida que hay muchos tipos de analistas, ya que puedes analizar lo que quieras. Estos son analistas web, científicos de datos clásicos, analistas de negocios, analistas financieros, así como analistas de productos, sistemas y UX. La razón de esta diversidad, aparentemente, es que en varias empresas grandes, decenas o incluso cientos de programadores y analistas pueden trabajar simultáneamente en la creación de una plataforma o producto. En tales condiciones, se produce un fuerte estrechamiento de la especialización.



Todos estos tipos de analistas utilizan sus propios conjuntos de herramientas específicos. Por lo tanto, me enfocaré solo directamente en el campo del análisis de datos, fuera del contexto del origen de estos mismos datos. Así, excluimos de la revisión los sistemas de analítica web, CRM, ERP, sistemas de contabilidad de almacén, logística y gestión documental.



1. Lenguajes de programación



No nos detendremos en ocasiones excepcionales, únicas o raras. Consideremos solo los más populares. Y, por supuesto, antes que nada, es el lenguaje Python.



Python



Python sirve como la herramienta principal en manos de los científicos de datos, no está muy tipado y está diseñado para la creación rápida de prototipos o secuencias de comandos o secuencias de comandos breves. Las personas que entienden la programación y la informática a menudo lo critican por el hecho de que los algoritmos escritos en python puro no son óptimos en términos de rendimiento y requisitos de memoria.



Sin embargo, este lenguaje de programación tiene muchas ventajas. Entre ellos, señalaría que Python se enseña en casi todas partes y, por lo tanto, es relativamente fácil encontrar un analista que conozca Python. La segunda ventaja son las bibliotecas para trabajar con datos y aprendizaje automático, que tienen una interfaz fácil de usar. Por ejemplo, sklearn facilita la creación de tuberías de preprocesamiento y creación de modelos. Todos los algoritmos y configuraciones de aprendizaje automático están encapsulados dentro de clases y objetos, lo que hace que el código sea muy simple.



R



Hasta hace poco, el principal competidor de Python era el lenguaje R. Las solicitudes de conocimiento de R y ahora rara vez aparecen en las descripciones de puestos, al menos en la sección de "beneficios". Hasta mediados de 2018, yo mismo estaba programando en R. Y mientras intentaba automatizar parte de mi trabajo de aprendizaje automático, casi reinventé la rueda, intentando crear canalizaciones para la preparación de datos y el entrenamiento de modelos en R. Un poco más tarde descubrí que tales canalizaciones existen desde hace mucho tiempo en la biblioteca de sklearn y se denominan canalizaciones.



C ++, C #



Si las bibliotecas de Python existentes son insuficientes y necesita implementar un nuevo algoritmo con alto rendimiento, puede usar el lenguaje C ++ compilado y tipado estáticamente o un lenguaje similar C #.



Matlab



El lenguaje MatLab está integrado en el paquete de software del mismo nombre y en un entorno interactivo para cálculos de ingeniería. Es cierto que este lenguaje está destinado en mayor medida a resolver problemas técnicos y no a realizar análisis financieros o comerciales. Por ejemplo, tuve la suerte de utilizar MatLab dos veces: en el proceso de estudio de señales de emisión acústica en estructuras, así como en el procesamiento del habla humana.



Hay una serie de bibliotecas de aprendizaje automático con API para otros lenguajes de programación como Java, JavaScript, Scala, etc. Pero no me detendré en ellos ya que el propósito del artículo es ligeramente diferente.



Tenga un poco de paciencia. Aprenderá sobre todo en las siguientes secciones.



2. AutoML y diseñadores visuales



AutoML, de acuerdo con su idea básica, simplifica drásticamente la tarea del investigador y reduce varios pasos de estudio y preparación de datos, construcción de características, elección y comparación de un algoritmo de aprendizaje automático y ajuste de hiperparámetros en un solo paso. Y este paso es seleccionar y configurar un cuadro grande llamado AutoML. El resultado de ejecutar el algoritmo de AutoML es una canalización construida, configurada y entrenada de manera adecuada. Solo queda tomar los datos "sin procesar", introducirlos en la tubería y esperar el resultado en forma de pronósticos en la salida.



El cuadro llamado "AutoML" parece una biblioteca de aprendizaje automático o un servicio web donde se cargan datos.



Si se trata de una biblioteca, se diferencia de sklearn en que nuestro código habitual de 20-30 líneas se comprime en 5 líneas. Un ejemplo famoso de una biblioteca de este tipo es H2O.



Otro ejemplo es la biblioteca MLBox. Puede encontrar historias sobre ella en Internet, sobre cómo el uso de MLBox le permitió entrar en el 5% superior en las competiciones de kaggle.



Ahora unas palabras sobre los servicios en la nube de AutoML. En primer lugar, todos los grandes gigantes digitales tienen prisa por presentar sus soluciones técnicas. Algunos de ellos son: Google AutoML Tables, Azure Machine Learning (Microsoft), SageMaker Autopilot (Amazon). Los servicios enumerados deberían ser de interés principalmente para aquellas empresas que desarrollan sistemas analíticos en plataformas en la nube. Es muy conveniente cuando el mismo proveedor proporciona la infraestructura de datos, los recursos informáticos y los algoritmos de aprendizaje automático listos para usar. La integración es realmente perfecta.



Además de los gigantes digitales, los jugadores más pequeños están ingresando al mercado de AutoML. Por ejemplo, Bell Integrator está trabajando activamente en la plataforma neuton.ai.



En la misma sección, vale la pena recordar los sistemas de aprendizaje automático que ocupan una posición intermedia entre la programación directa en R y Python y AutoML completamente empaquetado. Estos son los denominados constructores de flujo de trabajo. Dos ejemplos típicos son Azure Machine Learning Designer de Microsoft y la plataforma SberDS de Sberbank.



El constructor es un conjunto de ladrillos a partir de los cuales puede ensamblar todo el proceso de aprendizaje automático, incluida la verificación final del estado del modelo. Sin duda, esta es una hermosa solución para personas con una mentalidad visual que se sienten cómodas representando el proceso de aprendizaje automático y pruebas de modelos en forma de diagramas.



3. Herramientas de BI



Aquí me gustaría revisar varias soluciones de BI en el campo de la analítica: Power BI, Tableau, Qlick Sense, Qlick View y Excel.



Power BI



Power BI es un conjunto de herramientas de análisis de Microsoft que están disponibles como aplicaciones de escritorio y servicios en la nube. Existen soluciones corporativas que funcionan en la infraestructura de TI cerrada de la empresa. Trabajar en Power BI Desktop o Power BI Services no requiere conocimientos de codificación. Existe la posibilidad de integración en línea con fuentes de datos externas, así como de descarga de datos en formato csv.



Power BI puede resolver problemas de aprendizaje automático usando AutoML, es decir, no es necesario escribir código como en Python para construir un modelo de clasificación o regresión. Además de las tareas estándar de analizar datos tabulares, la funcionalidad incluye tecnologías para el análisis de sentimientos, extracción de frases clave, reconocimiento de idioma y adición de etiquetas a una imagen.



Tableau



Tableau también es una familia completa de aplicaciones en línea y de escritorio, como Power BI. Estas aplicaciones tienen una interfaz visual simple y le permiten trabajar con el método de arrastrar y soltar. Se crean gráficos hermosos con solo unos pocos clics. También puede analizar los datos en forma tabular y aplicarles varios filtros.



Tableau le permite resolver problemas de aprendizaje automático como regresión, pronóstico de series de tiempo, análisis de clústeres. Lo más importante es que Tableau puede integrarse con scripts externos en R y Python. Resulta una herramienta fácilmente extensible.



Qlick Sence y Qlick View



Qlick Sence y Qlick View difieren en el posicionamiento y la interfaz, pero en esencia y en los algoritmos de resolución de problemas se basan en el mismo motor. Qlick View es una plataforma empresarial dirigida por especialistas en TI, Qlick Sence es una herramienta para uso personal sin la necesidad de buscar ayuda técnica. apoyo.



En el primer conocimiento, la "belleza" y la facilidad de visualización son sorprendentes. Esta es la herramienta para crear un panel de gestión llamativo. Desde mi punto de vista, la capacidad de cambiar la escala al analizar mapas geográficos y agrupaciones en gráficos bidimensionales parece especialmente espectacular. Recuerdo tomas de películas, en las que en la foto de los satélites intentan distinguir la matrícula del automóvil o distinguir a una persona de la multitud en la plaza.



Otra opción interesante es la presencia de una aplicación móvil para realizar análisis desde un teléfono inteligente. Así aparece el máximo responsable de la red minorista, apresurándose al próximo vuelo en el aeropuerto y recibiendo un mensaje inesperado en el mensajero con un enlace al tablero.

Qlick Sence se integra con Python y, por lo tanto, con el aprendizaje automático.



Excel



Me perdonarás, pero no pude pasar por Excel. No importa cuánto te rías, cualquier instrumento es bueno a su manera. Por ejemplo, las tablas dinámicas y los gráficos de Excel están bellamente construidos con solo unos pocos clics. Combinado con una hoja de cálculo conveniente y un formato csv, es una herramienta bastante buena.



4. Lo más destacado del pastel. Generación automática de código basada en IA



Una vez, cuando me conocí en la red, me hicieron la pregunta "¿Programa en Python?" Y cuando respondí "Sí", la secuela fue completamente inesperada.



"¿Sabes acerca de esto ..." y luego había un enlace al video en Youtube

https://www.youtube.com/watch?v=fZSFNUT6iY8&t=4s&ab_channel=FazilBabu .



Este es un modelo de texto generativo de OpenAI, entrenado en el repositorio de GitHub. Los ejemplos específicos demuestran la capacidad del modelo para generar código Python basado en el título de la función y su breve descripción.



Pero, ¿y si los científicos de datos pueden entrenar bien dicho modelo en scripts? Esta es una pregunta para reflexionar ...



All Articles