18 Software esencial que todo científico de datos debe conocer

La ciencia de datos es para cualquier persona que ama desentrañar cosas enredadas y descubrir maravillas ocultas en un aparente desastre.


Es como buscar agujas en los pajares; solo que los científicos de datos no necesitan ensuciarse las manos en absoluto. Utilizando herramientas sofisticadas con gráficos coloridos y mirando montones de números, simplemente se sumergen en los montones de datos y encuentran valiosas agujas en forma de información de alto valor comercial..

Un típico científico de datos la caja de herramientas debe incluir al menos un elemento de cada una de estas categorías: bases de datos relacionales, bases de datos NoSQL, marcos de big data, herramientas de visualización, herramientas de raspado, lenguajes de programación, IDE y herramientas de aprendizaje profundo.

Bases de datos relacionales

Una base de datos relacional es una colección de datos estructurados en tablas con atributos. Las tablas se pueden vincular entre sí, definiendo relaciones y restricciones, y creando lo que se llama un modelo de datos. Para trabajar con bases de datos relacionales, normalmente utiliza un lenguaje llamado SQL (lenguaje de consulta estructurado).

Las aplicaciones que administran la estructura y los datos en bases de datos relacionales se denominan RDBMS (Sistemas de gestión de bases de datos relacionales). Existen muchas aplicaciones de este tipo, y las más relevantes recientemente han comenzado a centrarse en el campo de la ciencia de datos, agregando funcionalidad para trabajar con repositorios de grandes datos y aplicar técnicas como el análisis de datos y el aprendizaje automático..

servidor SQL

Esta uno es el RDBMS de Microsoft, que ha evolucionado durante más de 20 años al expandir constantemente su funcionalidad empresarial. Desde su versión 2016, SQL Server ofrece una cartera de servicios que incluyen soporte para código R incrustado. SQL Server 2017 aumenta la apuesta renombrando sus Servicios R a Servicios de lenguaje de máquina y agregando soporte para el lenguaje Python (más sobre estos dos idiomas a continuación).

Con estas importantes adiciones, SQL Server apunta a científicos de datos que pueden no tener experiencia con Transact SQL, el lenguaje de consulta nativo de Microsoft SQL Server.

SQL Server está lejos de ser un producto gratuito. Puede comprar licencias para instalarlo en un servidor de Windows (el precio variará según el número de usuarios concurrentes) o usarlo como un servicio de pago, a través de la nube de Microsoft Azure. Aprender Microsoft SQL Server es fácil.

MySQL

En el lado del software de código abierto, MySQL tiene la corona de popularidad de los RDBMS. Aunque Oracle actualmente lo posee, todavía es gratuito y de código abierto bajo los términos de una Licencia Pública General de GNU. La mayoría de las aplicaciones basadas en la web usan MySQL como el repositorio de datos subyacente, gracias a su conformidad con el estándar SQL.

También ayudan a su popularidad sus procedimientos de instalación fáciles, su gran comunidad de desarrolladores, toneladas de documentación integral y herramientas de terceros, como phpMyAdmin, que simplifican las actividades de administración cotidianas. Aunque MySQL no tiene funciones nativas para hacer análisis de datos, su apertura permite su integración con casi cualquier herramienta de visualización, informes e inteligencia empresarial que pueda elegir.

PostgreSQL

Otra opción de código abierto RDBMS es PostgreSQL. Si bien no es tan popular como MySQL, PostgreSQL destaca por su flexibilidad y extensibilidad, y su soporte para consultas complejas, las que van más allá de las declaraciones básicas como SELECT, WHERE y GROUP BY.

Estas características le permiten ganar popularidad entre los científicos de datos. Otra característica interesante es la compatibilidad con entornos múltiples, que permite su uso en entornos en la nube y locales, o en una combinación de ambos, comúnmente conocidos como entornos de nube híbrida.

PostgreSQL es capaz de combinar el procesamiento analítico en línea (OLAP) con el procesamiento de transacciones en línea (OLTP), trabajando en un modo llamado procesamiento híbrido transaccional / analítico (HTAP). También es adecuado para trabajar con big data, gracias a la adición de PostGIS para datos geográficos y JSON-B para documentos. PostgreSQL también admite datos no estructurados, lo que le permite estar en ambas categorías: bases de datos SQL y NoSQL.

Bases de datos NoSQL

También conocido como bases de datos no relacionales, este tipo de repositorio de datos proporciona un acceso más rápido a las estructuras de datos no tabulares. Algunos ejemplos de estas estructuras son gráficos, documentos, columnas anchas, valores clave, entre muchos otros. Los almacenes de datos NoSQL pueden dejar de lado la coherencia de los datos en favor de otros beneficios, como la disponibilidad, el particionamiento y la velocidad de acceso.

Dado que no hay SQL en los almacenes de datos NoSQL, la única forma de consultar este tipo de base de datos es mediante el uso de lenguajes de bajo nivel, y no existe un lenguaje que sea tan ampliamente aceptado como SQL. Además, no hay especificaciones estándar para NoSQL. Es por eso que, irónicamente, algunas bases de datos NoSQL están comenzando a agregar soporte para scripts SQL.

MongoDB

MongoDB es un popular sistema de base de datos NoSQL, que almacena datos en forma de documentos JSON. Se centra en la escalabilidad y la flexibilidad para almacenar datos de forma no estructurada. Esto significa que no hay una lista de campos fijos que deba observarse en todos los elementos almacenados. Además, la estructura de datos se puede cambiar con el tiempo, algo que en una base de datos relacional implica un alto riesgo de afectar las aplicaciones en ejecución..

La tecnología en MongoDB permite la indexación, las consultas ad-hoc y la agregación que proporcionan una base sólida para el análisis de datos. La naturaleza distribuida de la base de datos proporciona alta disponibilidad, escalado y distribución geográfica sin la necesidad de herramientas sofisticadas..

Redis

Esta una es otra opción en el frente de código abierto, NoSQL. Básicamente es un almacén de estructura de datos que opera en la memoria y, además de proporcionar servicios de base de datos, también funciona como memoria caché y agente de mensajes.

Admite una gran cantidad de estructuras de datos no convencionales, incluidos hashes, índices geoespaciales, listas y conjuntos ordenados. Es muy adecuado para la ciencia de datos gracias a su alto rendimiento en tareas intensivas en datos, como calcular intersecciones de conjuntos, ordenar listas largas o generar clasificaciones complejas. La razón del rendimiento sobresaliente de Redis es su funcionamiento en memoria. Se puede configurar para que persista los datos de forma selectiva.

Marcos de Big Data

Suponga que tiene que analizar los datos que generan los usuarios de Facebook durante un mes. Estamos hablando de fotos, videos, mensajes, todo. Teniendo en cuenta que sus usuarios agregan más de 500 terabytes de datos todos los días a la red social, es difícil medir el volumen representado por un mes completo de sus datos..

Para manipular esa gran cantidad de datos de manera efectiva, necesita un marco apropiado capaz de calcular estadísticas sobre una arquitectura distribuida. Hay dos de los marcos que lideran el mercado: Hadoop y Spark.

Hadoop

Como un gran marco de datos, Hadoop se ocupa de las complejidades asociadas con la recuperación, procesamiento y almacenamiento de grandes cantidades de datos. Hadoop opera en un entorno distribuido, compuesto por grupos de computadoras que procesan algoritmos simples. Existe un algoritmo de orquestación, llamado MapReduce, que divide las tareas grandes en partes pequeñas y luego las distribuye entre los grupos disponibles..

Hadoop se recomienda para repositorios de datos de clase empresarial que requieren acceso rápido y alta disponibilidad, todo eso en un esquema de bajo costo. Pero necesitas un administrador de Linux con profundidad Conocimiento de Hadoop para mantener el marco y ejecutar.

Chispa – chispear

Hadoop no es el único marco disponible para la manipulación de big data. Otro gran nombre en esta área es Chispa – chispear. El motor Spark fue diseñado para superar a Hadoop en términos de velocidad de análisis y facilidad de uso. Aparentemente, logró este objetivo: algunas comparaciones dicen que Spark se ejecuta hasta 10 veces más rápido que Hadoop cuando se trabaja en un disco, y 100 veces más rápido operando en la memoria. También requiere un número menor de máquinas para procesar la misma cantidad de datos..

Además de la velocidad, otro beneficio de Spark es su soporte para el procesamiento de flujo. Este tipo de procesamiento de datos, también llamado procesamiento en tiempo real, implica la entrada y salida continua de datos.

Herramientas de visualización

Una broma común entre los científicos de datos dice que, si torturas los datos el tiempo suficiente, confesará lo que necesitas saber. En este caso, “tortura” significa manipular los datos transformándolos y filtrándolos para visualizarlos mejor. Y ahí es donde las herramientas de visualización de datos entran en escena. Estas herramientas toman datos preprocesados ​​de múltiples fuentes y muestran sus verdades reveladas en formas gráficas y comprensibles.

Hay cientos de herramientas que entran en esta categoría. Nos guste o no, el más utilizado es Microsoft Excel y sus herramientas de gráficos. Los gráficos de Excel son accesibles para cualquier persona que use Excel, pero tienen una funcionalidad limitada. Lo mismo se aplica a otras aplicaciones de hoja de cálculo, como Google Sheets y Libre Office. Pero estamos hablando de herramientas más específicas, especialmente diseñadas para la inteligencia empresarial (BI) y el análisis de datos..

Power BI

No hace mucho tiempo, Microsoft lanzó su Power BI Aplicación de visualización. Puede tomar datos de diversas fuentes, como archivos de texto, bases de datos, hojas de cálculo y muchos servicios de datos en línea, incluidos Facebook y Twitter, y usarlos para generar paneles repletos de gráficos, tablas, mapas y muchos otros objetos de visualización. Los objetos del tablero son interactivos, lo que significa que puede hacer clic en una serie de datos en un gráfico para seleccionarlo y usarlo como filtro para los otros objetos en el tablero..

Power BI es una combinación de una aplicación de escritorio de Windows (parte del conjunto de aplicaciones de Office 365), una aplicación web y un servicio en línea para publicar los paneles en la web y compartirlos con sus usuarios. El servicio le permite crear y administrar permisos para otorgar acceso a los tableros solo a ciertas personas.

Cuadro

Cuadro es otra opción para crear paneles interactivos a partir de una combinación de múltiples fuentes de datos. También ofrece una versión de escritorio, una versión web y un servicio en línea para compartir los paneles que cree. Funciona de forma natural “con su forma de pensar” (como dice), y es fácil de usar para personas no técnicas, que se mejora a través de muchos tutoriales y videos en línea.

Algunas de las características más destacadas de Tableau son sus conectores de datos ilimitados, sus datos en vivo y en memoria, y sus diseños optimizados para dispositivos móviles.

QlikView

QlikView ofrece una interfaz de usuario limpia y directa para ayudar a los analistas a descubrir nuevas ideas de los datos existentes a través de elementos visuales que son fácilmente comprensibles para todos.

Esta herramienta es conocida por ser una de las plataformas de inteligencia empresarial más flexibles. Proporciona una función llamada Búsqueda asociativa, que le ayuda a concentrarse en los datos más importantes, ahorrándole el tiempo que le tomaría encontrarlos por su cuenta..

Con QlikView, puede colaborar con socios en tiempo real, haciendo análisis comparativos. Todos los datos pertinentes se pueden combinar en una sola aplicación, con características de seguridad que restringen el acceso a los datos..

Herramientas de raspado

En los tiempos en que Internet acababa de emerger, los rastreadores web comenzaron a viajar junto con las redes que recopilaban información en su camino. A medida que la tecnología evolucionó, el término rastreo web cambió para el raspado web, pero aún significa lo mismo: extraer automáticamente información de los sitios web. Para hacer scraping web, utiliza procesos automatizados, o bots, que saltan de una página web a otra, extrayendo datos de ellos y exportándolos a diferentes formatos o insertándolos en bases de datos para su posterior análisis..

A continuación resumimos las características de tres de los raspadores web más populares disponibles en la actualidad..

Octoparse

Octoparse web scraper ofrece algunas características interesantes, incluidas herramientas integradas para obtener información de sitios web que no facilitan el trabajo de los robots de scraping. Es una aplicación de escritorio que no requiere codificación, con una interfaz de usuario fácil de usar que permite visualizar el proceso de extracción a través de un diseñador gráfico de flujo de trabajo..

Junto con la aplicación independiente, Octoparse ofrece un servicio basado en la nube para acelerar el proceso de extracción de datos. Los usuarios pueden experimentar una ganancia de velocidad de 4x a 10x cuando usan el servicio en la nube en lugar de la aplicación de escritorio. Si se apega a la versión de escritorio, puede usar Octoparse de forma gratuita. Pero si prefiere usar el servicio en la nube, tendrá que elegir uno de sus planes pagos.

Capturador de contenido

Si está buscando una herramienta de raspado rica en funciones, debería echarle un ojo Capturador de contenido. A diferencia de Octoparse, para usar Content Grabber, es necesario tener habilidades avanzadas de programación. A cambio, obtienes edición de scripts, interfaces de depuración y otras funcionalidades avanzadas. Con Content Grabber, puede usar lenguajes .Net para escribir expresiones regulares. De esta manera, no tiene que generar las expresiones con una herramienta integrada.

La herramienta ofrece una API (interfaz de programación de aplicaciones) que puede usar para agregar capacidades de raspado a sus aplicaciones de escritorio y web. Para usar esta API, los desarrolladores deben obtener acceso al servicio de Content Grabber de Windows.

ParseHub

Este rascador puede manejar una extensa lista de diferentes tipos de contenido, incluidos foros, comentarios anidados, calendarios y mapas. También puede manejar páginas que contienen autenticación, Javascript, Ajax y más. ParseHub se puede usar como una aplicación web o una aplicación de escritorio capaz de ejecutarse en Windows, macOS X y Linux.

Al igual que Content Grabber, se recomienda tener algunos conocimientos de programación para aprovechar al máximo ParseHub. Tiene una versión gratuita, limitada a 5 proyectos y 200 páginas por ejecución..

Lenguajes de programación

Al igual que el lenguaje SQL mencionado anteriormente está diseñado específicamente para trabajar con bases de datos relacionales, existen otros lenguajes creados con un claro enfoque en la ciencia de datos. Estos lenguajes permiten a los desarrolladores escribir programas que se ocupan del análisis masivo de datos, como estadísticas y aprendizaje automático..

SQL también se considera una habilidad importante que los desarrolladores deberían tener para hacer ciencia de datos, pero eso se debe a que la mayoría de las organizaciones aún tienen muchos datos en bases de datos relacionales. Los lenguajes de ciencia de datos “verdaderos” son R y Python.

Pitón

Pitón es un lenguaje de programación de alto nivel, interpretado y de propósito general, muy adecuado para el desarrollo rápido de aplicaciones. Tiene una sintaxis simple y fácil de aprender que permite una curva de aprendizaje empinada y reducciones en los costos de mantenimiento del programa. Hay muchas razones por las cuales es el lenguaje preferido para la ciencia de datos. Por mencionar algunos: potencial de scripting, verbosidad, portabilidad y rendimiento.

Este lenguaje es un buen punto de partida para los científicos de datos que planean experimentar mucho antes de saltar al trabajo de procesamiento de datos real y duro, y que desean desarrollar aplicaciones completas.

R

los Lenguaje R se utiliza principalmente para el procesamiento de datos estadísticos y gráficos. Aunque no está destinado a desarrollar aplicaciones completas, como sería el caso de Python, R se ha vuelto muy popular en los últimos años debido a su potencial para la minería de datos y el análisis de datos.

Gracias a una biblioteca cada vez mayor de paquetes disponibles de forma gratuita que amplían su funcionalidad, R es capaz de realizar todo tipo de trabajo de procesamiento de datos, incluidos modelos lineales / no lineales, clasificación, pruebas estadísticas, etc..

No es un lenguaje fácil de aprender, pero una vez que se familiarice con su filosofía, estará haciendo computación estadística como un profesional..

IDEs

Si está considerando seriamente dedicarse a la ciencia de datos, deberá elegir cuidadosamente un entorno de desarrollo integrado (IDE) que se adapte a sus necesidades, ya que usted y su IDE pasarán mucho tiempo trabajando juntos..

Un IDE ideal debería reunir todas las herramientas que necesita en su trabajo diario como codificador: un editor de texto con resaltado de sintaxis y autocompletado, un depurador potente, un navegador de objetos y fácil acceso a herramientas externas. Además, debe ser compatible con el idioma de su preferencia, por lo que es una buena idea elegir su IDE después de saber qué idioma usará.

Spyder

Esta IDE genérico está destinado principalmente a científicos y analistas que también necesitan codificar. Para que se sientan cómodos, no se limita a la funcionalidad IDE, también proporciona herramientas para la exploración / visualización de datos y la ejecución interactiva, como se puede encontrar en un paquete científico. El editor en Spyder admite varios idiomas y agrega un navegador de clase, división de ventanas, salto a definición, finalización automática de código e incluso una herramienta de análisis de código.

El depurador lo ayuda a rastrear cada línea de código de manera interactiva, y un generador de perfiles lo ayuda a encontrar y eliminar las ineficiencias.

PyCharm

Si programa en Python, es probable que su IDE de elección sea PyCharm. Tiene un editor de código inteligente con búsqueda inteligente, finalización de código y detección y corrección de errores. Con solo un clic, puede saltar del editor de código a cualquier ventana relacionada con el contexto, incluida la prueba, el súper método, la implementación, la declaración y más. PyCharm admite Anaconda y muchos paquetes científicos, como NumPy y Matplotlib, por nombrar solo dos de ellos..

Ofrece integración con los sistemas de control de versiones más importantes, y también con un corredor de prueba, un perfilador y un depurador. Para cerrar el trato, también se integra con Docker y Vagrant para proporcionar desarrollo multiplataforma y contenedorización..

RStudio

Para aquellos científicos de datos que prefieren el equipo R, el IDE de elección debería ser RStudio, por sus muchas características Puede instalarlo en un escritorio con Windows, macOS o Linux, o puede ejecutarlo desde un navegador web si no desea instalarlo localmente. Ambas versiones ofrecen beneficios tales como resaltado de sintaxis, sangría inteligente y finalización de código. Hay un visor de datos integrado que es útil cuando necesita explorar datos tabulares..

El modo de depuración permite ver cómo los datos se actualizan dinámicamente al ejecutar un programa o script paso a paso. Para el control de versiones, RStudio integra soporte para SVN y Git. Una buena ventaja es la posibilidad de crear gráficos interactivos, con Shiny y ofrece bibliotecas.

Su caja de herramientas personal

En este punto, debe tener una vista completa de las herramientas que debe conocer para sobresalir en la ciencia de datos. Además, esperamos que le hayamos brindado suficiente información para decidir cuál es la opción más conveniente dentro de cada categoría de herramienta. Ahora depende de ti. La ciencia de datos es un campo floreciente para desarrollar una carrera. Pero si desea hacerlo, debe mantenerse al día con los cambios en las tendencias y tecnologías, ya que ocurren casi a diario..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map