¿Qué herramientas usan los científicos de datos?

Esto es realmente todo el lugar. Muchas de estas herramientas están lejos de ser maduras y este panorama cambia enormemente muy rápido. Hay una gran superposición en la funcionalidad, por lo que las personas usan lo que sea más rápido para hacer el trabajo.

Las cosas no están tan estandarizadas como decir “¿Qué herramientas usa un programador de sistemas?”

No he estado trabajando activamente con datos durante aproximadamente 8 meses, por lo que es posible que ya esté un poco fuera de lugar, pero esto es lo que recuerdo haberme usado de la cabeza.

Análisis de los datos

  • El Proyecto R para Computación Estadística sigue siendo el más popular. Estoy de acuerdo con William en que es mejor usarlo a través de R Studio.
  • Pandas es un conjunto de bibliotecas de Python si no quieres aprender un nuevo idioma
  • El lenguaje Julia es una alternativa próxima a R. Pasé un poco de tiempo aprendiéndolo y me gustaría hacer un seguimiento de a dónde va el proyecto.

Almacenamiento de datos

  • MySQL : puede manejar cómodamente conjuntos de datos de unos pocos GB. No vayas prematuramente a la colmena. MySQL está optimizado hasta la muerte y es muy bueno en latencia para ejecutar consultas ad-hoc.
  • Archivos CSV: se sorprenderá de lo lejos que puede llegar al usarlos como su almacenamiento principal.
  • Hive / Shark / Redshift: para cuando tus datos grandes son realmente grandes. Hive puede hacer uniones gigantes mientras Redshift es mejor para la latencia pero más limitado en sus uniones.

Visualización de datos

  • D3.js para bonitas visualizaciones para poner en la web
  • Matplotlib para el trazado ad-hoc de Python
  • ggplot2 para R.

Aprendizaje automático

Estoy un poco oxidado con esto: el estado del arte se está moviendo rápidamente aquí.

  • Sobre todo he entrenado modelos en R y lo he usado directamente o sobre Hive.
  • He jugado con scikit-learn en el pasado y parece estar madurando.
  • He usado Weka para probar algoritmos estándar rápidamente en nuevos conjuntos de datos en el pasado, pero es difícil producir algo con él.

Análisis de redes sociales

Ha pasado un tiempo desde que hice un SNA práctico, por lo que las cosas podrían haber cambiado recientemente.

  • NetworkX es una biblioteca de Python bastante buena para SNA pero no está distribuida
  • Proyecto de análisis de red de Stanford
  • Apache Giraph es una implementación de código abierto del documento de Google Pregel.

Esta es una pregunta popular entre los próximos científicos de datos.

En lugar de centrarme en las opciones tecnológicas (que evolucionan y mejoran constantemente), me centraré en las necesidades subyacentes y en cómo se pueden abordar (proporcionando así una visión general de alto nivel).

Para que esta respuesta sea más concreta, lo guiaré a través de un caso típico de uso de la ciencia de datos.

Empecemos.

Imagine que comienza un nuevo trabajo como científico de datos junior en una compañía inteligente de inicio de agua (es decir, una compañía que desarrolla SaaS para monitorear el consumo de agua).

Su jefe, el científico jefe de datos , le pide que realice un prototipo de un nuevo modelo predictivo para integrarlo en su oferta de SaaS.

Lo primero con lo que puede comenzar es mirar los modelos implementados disponibles . Puede acceder a estos a través de algún tipo de tablero interno.

Aquí, podrá ver el rendimiento de diferentes modelos, las variables que utilizan, sus tiempos de ejecución

Una vez que conozca el estado actual, puede comenzar a crear prototipos .

Dado que esta es una fase creativa (de alguna manera), necesitará una herramienta que permita bucles de retroalimentación rápidos .

Los cuadernos basados ​​en la web son la solución de facto hoy en día: son excelentes para probar muchas ideas y observar los resultados (tablas y gráficos) en el mismo entorno.

Las opciones populares incluyen Jupyter [1].

Luego, una vez que esté satisfecho con el modelo prototipo, debe convertirlo en uno listo para producción .

Dado que la empresa en la que trabaja todavía es pequeña, usted estará a cargo de este paso. En compañías más grandes, los ingenieros de datos pueden ayudar / hacer (con) esto.

Para eso, debe escribir código bien probado y controlado por la versión .

En este punto, una computadora portátil no será suficiente y deberá usar un IDE [2] (o un editor de texto al menos) y un software de control de versiones . Atom [3] y Git [4] son ​​posibles candidatos.

Luego, debe ejecutar su modelo con más datos (suponiendo que haya realizado la creación de prototipos con solo una fracción).

Desafortunadamente, su modelo ya no funciona: los datos ingeridos son demasiado grandes para caber en la memoria.

Así que ahora necesita algo de procesamiento antes de pasar los datos a su modelo. Se necesita un marco de ejecución de “Big Data”. Spark [5] es una opción muy popular (y ofrece muchos modelos ML gracias a la biblioteca MLLib [6])

Finalmente, una vez implementado, debe evaluar el rendimiento de su nuevo modelo e integrarlo en el panel de monitoreo.

Probablemente necesitará escribir algunas consultas SQL [7] para obtener las métricas que necesita y crear algunos gráficos .

Nuevamente, Spark tiene capacidades SQL [8]. Bokeh [9] es una buena opción para hacer gráficos interactivos.

Este caso de uso ficticio no cubre todas las herramientas posibles que un científico de datos necesita para realizar su trabajo. Está allí para guiarlo en el proceso si está comenzando.

Una observación final: todas las herramientas mencionadas son de código abierto y gratuitas. No se requiere presupuesto.

¡Disfruta probando las diferentes herramientas!

Si le ha gustado leer este caso de uso, asegúrese de seguirme para obtener más información: http://quora.com/profile/Yassine

Notas al pie

[1] Proyecto Jupyter

[2] Entorno de desarrollo integrado – Wikipedia

[3] Un editor de texto pirateable para el siglo XXI.

[4] Git

[5] Apache Spark ™ – Computación en clúster ultrarrápida

[6] MLlib: API basada en RDD

[7] SQL – Wikipedia

[8] Spark SQL y marcos de datos

[9] Bienvenido a Bokeh

A nivel de la industria, de acuerdo con la Encuesta de salarios de ciencia de datos de 2014, las herramientas más utilizadas (con la correspondiente distribución de salarios) son:

En términos de utilidad, debe depender de qué tipo de papel está desempeñando un científico de datos (para una introducción, vea esta pregunta ¿Cuáles son los diferentes tipos de científicos de datos?). Curiosamente, descubrí que el resultado de la agrupación en la sección ‘correlación de herramientas’ en el mismo libro de encuestas se correlaciona bien desde los roles que juegan los científicos de datos hasta las herramientas que usan activamente:

Las herramientas dentro de cada grupo tienen altas correlaciones, lo que indica que generalmente se usan como una combinación. Aunque la mayoría de los encuestados de científicos de datos en esta encuesta no solo usan herramientas de restricción para uno de los grupos anteriores, creo que estos grupos se corresponden bien con los roles que desempeña cada científico de datos en general:

  • Cluster 1 – Inteligencia empresarial
  • Cluster 2 – Hadoop e Ingeniería de Datos
  • Cluster 3 – Aprendizaje automático y análisis de datos
  • Cluster 4 – Visualización de datos

Personalmente, las herramientas que encuentro más útiles y con las que interactúo con más frecuencia en el trabajo diario son de Cluster 2 + Cluster 3, y ocasionalmente de Cluster 4 (D3, JavaScript).

De acuerdo con la Encuesta de salarios de ciencia de datos de 2014, hay 4 grupos:

‘El clúster “Microsoft-Excel-SQL” estaba más o menos preservado (como
“Cluster 1”), pero el clúster más grande “Hadoop-Python-R” se dividió
en dos partes El más grande de estos, Cluster 2, está compuesto por Hadoop
herramientas, Linux y Java, mientras que el otro, Cluster 3, enfatiza la codificación
análisis con herramientas como R, Python y Matlab. Con algunas herramientas
omisiones, es posible unir los clústeres 2 y 3 de nuevo en uno, pero
la densidad de las conexiones dentro de cada una por separado es significativamente
mayor que la densidad si están unidos, y la división permite
para que se incluyan más herramientas en los clústeres. Grupo 4, centrado
en Mac OS X, JavaScript, MySQL y D3, es nuevo este año.
Finalmente, el más pequeño de los cinco es el Cluster 5, compuesto por C, C ++,
Unix y Perl. Si bien estas cuatro herramientas se correlacionan bien con cada una
otro, ninguno era extremadamente común en la muestra, y de los cinco
clusters este es probablemente el menos informativo.
La única herramienta con más de 35 usuarios que no encajaba en un clúster era
Tableau: se correlacionó bien con los clústeres 1 y 2, lo que lo hizo incluso
más de un valor atípico en que estos dos grupos tenían la mayor densidad
de correlaciones negativas (es decir, cuando la variable a aumenta, la variable b
disminuye) entre ellos. De hecho, los 53 negativos significativos
las correlaciones entre dos herramientas fueron entre una herramienta de Cluster
1 y otro del Grupo 2 (35 correlaciones negativas), 3 (6) o 4
(12)
La mayoría de los encuestados no correspondía limpiamente a una de estas herramientas
categorías: solo el 7% de los encuestados utilizó herramientas exclusivamente de uno
de estos grupos, y más de la mitad usaron al menos una herramienta de cuatro o cinco
de los racimos. El significado detrás de los grupos es que si un encuestado
usa una herramienta de un grupo, la posibilidad de que ella use otra
de ese grupo aumenta. Muchos encuestados tendieron hacia uno o
dos de los grupos y utilizaron relativamente pocas herramientas de los otros.

Interpretando los racimos

Hasta cierto punto, es fácil ver por qué las herramientas en cada grupo
correlacionar con los otros, pero vale la pena identificar las características de la
herramientas que parecen más o menos relevantes para determinar su asignación.
Si una herramienta es de código abierto es quizás lo más importante
característica, que divide el Grupo 1 de los demás. El grupo 1 también contiene
Herramientas de Microsoft, aunque el productor de la herramienta no necesita
Determinar principalmente la pertenencia al clúster (MySQL y Oracle RDB son
en diferentes grupos).
La gran cantidad de herramientas en el Cluster 2 no es una anomalía: las personas que trabajan
con herramientas tipo Hadoop tienden a usar muchas de ellas. De hecho, para
herramientas como EMR, Cassandra, Spark y MapR, encuestados que
usó cada una de estas herramientas usó un promedio de 18-19 herramientas en total. Esta
es aproximadamente el doble del promedio para los usuarios de algunas herramientas Cluster 1 (por ejemplo,
los usuarios de SPSS usaron un promedio de 9 herramientas, y los usuarios de Excel usaron un
promedio de 10 herramientas). Algunas de las herramientas Cluster 2 complementan cada
otro para formar un ecosistema de herramientas: es decir, estas herramientas funcionan mejor
juntos, e incluso podrían requerirse el uno al otro. Desde la perspectiva
de individuos que deciden qué herramientas aprender a continuación, los altos salarios
correlacionado con el uso de las herramientas Cluster 2 es atractivo, pero puede ser el
caso de que no solo una sino varias herramientas necesitan ser aprendidas para darse cuenta
Los beneficios de tales habilidades.
Otras herramientas en Cluster 2 no son complementos entre sí, sino
alternativas: por ejemplo, MapR, Cassandra, Cloudera y Amazon
EMR. El hecho de que incluso estas herramientas se correlacionen podría ser una indicación
de la novedad de Hadoop: las personas y las empresas no necesariamente
se decidieron por su elección de herramientas y están probando diferentes combinaciones
entre las muchas opciones disponibles. La naturaleza comunitaria
de las herramientas de código abierto en el Cluster 2 puede proporcionar otra explicación
de por qué las herramientas alternativas a menudo son utilizadas por los mismos encuestados.
Ese elemento comunitario, más la naturaleza de un solo propósito de
muchas de las herramientas de código abierto, contrastan Cluster 2 con el más
herramientas propietarias maduras e integradas verticalmente en Cluster 1.
También existen algunos patrones similares en los Grupos 1 y 3, aunque quizás
No al mismo extremo. Por ejemplo, R y Python, mientras que
a menudo se usan juntos, son capaces de hacer muchos de los mismos
cosas (dicho de otra manera, muchos, incluso la mayoría) usos de R o
Python para el análisis de datos puede hacerse completamente por uno). Sin embargo,
estos dos se correlacionan fuertemente entre sí. Del mismo modo, los negocios
aplicaciones de inteligencia como MicroStrategy, BusinessObjects,
y Oracle BI se correlacionan entre sí, al igual que los paquetes estadísticos
SAS y SPSS. En lo que es un enlace de conglomerado cruzado relativamente raro
entre los grupos 1 y 3, R y SAS también se correlacionan positivamente ‘.

En lo que respecta a las herramientas de ciencia de datos, el mundo de código abierto ha ganado mucha tracción en los últimos años, especialmente R y Python para el análisis y la visualización de datos, pero también las herramientas del ecosistema Hadoop para la gestión de datos a gran escala.

Disposición de datos: SQL, Hive, Pig, Impala, Spark

Aprendizaje automático: R, Python (Sci-Kit learn), Spark (MlLib), Knime, Weka, Rapidminer

Visualización: GGplot y Rshiny para R, Matplotlib para Python, D3.js

Dicho esto, las herramientas propietarias como SAS, SPSS, Statistica siguen siendo líderes en el segmento de software de análisis empresarial … y están trabajando arduamente para mantenerse al día con los estándares tecnológicos, fuentes de datos y casos de uso empresarial en rápida evolución.

Además de esto, y como se refleja en el Cuadrante Mágico de Gartner para Advanced Analytics, una nueva generación de herramientas de ciencia de datos está ganando terreno, con el objetivo de ayudar a los equipos de datos y científicos de datos a construir e implementar aplicaciones de ciencia de datos de manera más eficiente (Alteryx, Alpine )

Como ejemplo, el Data Science Studio de Dataiku se basa en una filosofía de primer nivel que capitaliza las fortalezas de los marcos de código abierto y aborda algunas deficiencias de las herramientas existentes:

  • combinar tecnologías y habilidades en el mismo proyecto de ciencia de datos (R, python, SQL, Spark …)
  • cree flujos de datos de extremo a extremo que se escalen y pasen rápidamente del diseño a la producción
  • capacite a los no codificadores para explorar, combinar y visualizar diversas fuentes de datos

Por cierto, si está buscando algunos punteros para elegir entre R y Python, recomendaría este excelente hilo de Quora y este breve video que muestra cómo articular diferentes idiomas en un proyecto de ciencia de datos.

De acuerdo con la red de habilidades de todos los Data Scientists en LinkedIn, de un artículo que escribí sobre Data Science Skills [1]:

  • Python, R y Matlab son los tres lenguajes más centrales para la visualización y el desarrollo de modelos.
  • SQL y Hadoop son los más centrales para el almacenamiento de datos
  • Java también era un nodo de ingeniería de software bastante central

En la red, cada nodo es una habilidad. Las habilidades se conectan cuando ambas se enumeran juntas en un perfil, y la conexión se fortalece cuanto más a menudo se enumeran juntas. Como el objetivo era visualizar las relaciones entre habilidades, agrupé habilidades similares, representadas por colores. A continuación, las habilidades se dimensionaron según cuán bien conectadas estuvieran y en qué medida influyeron en otras habilidades en la red, utilizando una medida llamada centralidad de red.

1) Página en linkedin.com

Un científico de datos pitoniano suele jugar con estas herramientas.

Scipy: una colección de paquetes que puede abordar una serie de dominios de problemas estándar diferentes en informática científica.
Numpy -Numpy o Numerical Python, es el paquete fundamental para la computación científica en Python.
Pandas -Pandas Proporciona funciones ricas y estructuras de datos diseñadas para hacer que trabajar con datos estructurados sea rápido, fácil y expresivo.
matplotlib -Matplotlib es la biblioteca de Python más popular para producir gráficos y otros datos 2D
visualizaciones
NLTK – NLTK es una plataforma líder para construir programas de Python para trabajar con datos de lenguaje humano.

Regularmente uso la siguiente configuración:

Idiomas

  • Python: para la limpieza de datos, procesamiento y ejecución de algoritmos de ML.
  • R: para ejecutar análisis estadísticos y, a veces, como reemplazo de Excel.
  • Bash: nunca subestimes el poder de Unix. Yo uso mucho Bash para limpiar datos.
  • Java: para escribir códigos de producción.

Paquetes –

  • Scikit-Learn: paquete de aprendizaje automático en Python.
  • Pandas – marcos de datos en python.
  • Mi marco ML = numpy + pandas + sklearn
  • Matplotlib, ggplot y rCharts para visualización de datos. D3.js es una biblioteca verdaderamente notable para la visualización de datos, ¡muy arriba en mi lista de cosas para aprender a continuación!

Secundo la elección de William Chen de Sublime Text y RStudio. También uso IntelliJ para Java.

Algunas de las principales herramientas de análisis de datos para empresas. Encontrará estas herramientas gratuitas, fáciles de usar y recursos bien documentados.

Las mejores herramientas gratuitas de análisis de datos para empresas

Tableau Public es un software gratuito que puede permitir que cualquiera se conecte a una hoja de cálculo o archivo y cree visualizaciones de datos interactivas para la web.

OpenRefine o Google Refine: una herramienta eléctrica gratuita y de código abierto para trabajar con datos desordenados.

KNIME Agregando valor. Valor agregado. Extender KNIME para aumentar la productividad y la colaboración.

Google Fusion Tables : obtenga más de los datos con Fusion Tables . Fusion Tables es una aplicación web experimental de visualización de datos para recopilar, visualizar y compartir tablas de datos.

Import.io | Extraiga datos de la web: la plataforma de extracción de datos web líder en el mundo para empresas y particulares.

Solver : es una herramienta de optimización y programación lineal en Excel que le permite establecer restricciones

RapidMiner : opera mediante programación visual y es capaz de manipular, analizar y modelar datos.

Espero que estas herramientas de análisis de datos puedan ayudarlo. Para cualquier otra consulta, puede enviarme un PM directamente.

“Nuestro problema resolviendo noggins”

Pero en serio, en cuanto a la computadora, hay seis categorías amplias:

  • Almacenes de datos y bases de datos para acceso a datos: HDFS de Hadoop, SQL, NoSQL, por ejemplo, MongoDB, Teradata
  • Unix / Linux. Aprenda y ame los comandos de terminal básicos, las tuberías y los scripts de bash simples.
  • Un lenguaje orientado a objetos para flujos de trabajo de producción, por ejemplo, Java, Scala, C ++
  • Un lenguaje de secuencias de comandos para programas pequeños y medianos y creación de prototipos, por ejemplo, Python, Ruby. Si tuviera que adaptar los lenguajes de programación funcionales, por ejemplo, Clojure en algún lugar de este paradigma, también estaría aquí, pero en este punto es menos ubicuo.
  • Un paquete de estadísticas para la exploración de datos, creación de prototipos, pruebas de hipótesis, desarrollo de algoritmos, por ejemplo, R, SAS
  • Herramientas de visualización para mostrar a sus clientes internos y externos sus datos, basados ​​en la Web, por ejemplo, d3, Excel, Tableau

Traté de enumerar un montón de opciones de código abierto aquí, pero encontrará personas que hacen cosas increíblemente innovadoras usando solo un paquete para la pila completa 1-6. MATLAB, R, Excel, Python son populares para esto, y si el tamaño y la complejidad de los datos son lo suficientemente pequeños, puede hacer que funcione.

¡Básicamente cualquier cosa que haga el trabajo! La ciencia de datos sigue siendo un campo bastante abierto en este momento y muchas prácticas aún no se han endurecido ni se han codificado formalmente. Hay maneras en que eso es malo (la falta de estandarización significa que la transferencia de conocimiento y la reproducibilidad pueden sufrir mucho), pero la libertad es bastante liberadora porque puedes elegir la mejor herramienta para el trabajo.

Mucha gente ha enumerado herramientas muy buenas para muchas tareas comunes, por lo que voy a ocupar un lugar en mi lista. Lo siguiente es una muestra de las herramientas de Python que uso mucho en DataScience y que realmente me gustan:

  • pycopg2: puede ser un poco complicado de instalar pero excelente para conectarse a bases de datos Redshift
  • boto3: la mejor opción que he encontrado para interactuar con los servicios de AWS. La documentación (especialmente en lo que se refiere al trabajo de EMR) podría mejorar, pero hace el trabajo realmente bien.
  • maestro de ceremonias: si está haciendo un muestreo MCMC, creo que este es el paquete más fácil de poner en funcionamiento. Lo encontré mucho más intuitivo que PyStan.
  • matplotlib: no es un nicho en absoluto, pero la visualización de datos es un tema en el que tengo fuertes opiniones, jaja. Las otras opciones como Seaborn y Plotly son buenas, pero me encanta el poder y la flexibilidad de matplotlib. Tengo control total sobre casi todos los aspectos de la trama que estoy creando 🙂 La desventaja es que puede ser difícil de aprender porque es muy poderoso y la documentación es mediocre en mi opinión (por eso escribí un breve tutorial) .
  • statsmodels: un gran paquete que a menudo se ve ensombrecido por scikit-learn. Le permite a uno hacer modelos ‘más simples’ (por ejemplo, regresión lineal) de una manera que es más familiar para alguien que tiene más antecedentes de R / stats que CS / ML.
  • scipy: otra herramienta que creo que generalmente se ve eclipsada. Es ideal para muchas tareas cotidianas, como pruebas estadísticas básicas y generación de distribución.

Data Version Control (DVC) está diseñado para ayudar a los científicos de datos a realizar un seguimiento de sus procesos de aprendizaje automático y dependencias de archivos en forma simple de comandos similares a git.

El modelado de aprendizaje automático es un proceso iterativo y es extremadamente importante realizar un seguimiento de sus pasos, dependencias entre los pasos, dependencias entre su código y archivos de datos y todos los argumentos de ejecución de código. Esto se vuelve aún más importante y complicado en un entorno de equipo con la colaboración de científicos de datos.

Por lo tanto, el modelo se puede mejorar de forma iterativa y DVC simplifica el proceso iterativo de ML y ayuda a la colaboración entre los científicos de datos.

Junto con la tecnología relativamente nueva de Big Data está el nuevo científico de datos de títulos de trabajo. Si bien no está vinculado exclusivamente a los proyectos de Big Data, el rol del científico de datos los complementa debido a la mayor amplitud y profundidad de los datos que se examinan, en comparación con los roles tradicionales … Puede visitar este enlace: Big Data, ciencia de datos – Clases de capacitación de cursos combinados en línea | Big Data, Data Science – Cursos de cursos combinados en línea Un científico de datos representa una evolución desde el rol de analista de datos o negocios. La capacitación formal es similar, con una base sólida típicamente en informática y aplicaciones, modelado, estadísticas, análisis y matemáticas.

Lo que distingue al científico de datos es la perspicacia empresarial fuerte, junto con la capacidad de comunicar los hallazgos a los líderes empresariales y de TI de una manera que puede influir en la forma en que una organización aborda un desafío empresarial. Los buenos científicos de datos no solo abordarán los problemas comerciales, sino que elegirán los problemas correctos que tengan el mayor valor para la organización.

El rol del científico de datos ha sido descrito como “analista en parte, artista en parte”. Un científico de datos es alguien que es curioso, que puede observar los datos y detectar tendencias. Es casi como un individuo del Renacimiento que realmente quiere aprender y aportar cambios a una organización “.

Mientras que un analista de datos tradicional puede mirar solo los datos de una sola fuente, por ejemplo, un sistema CRM, un científico de datos probablemente explorará y examinará datos de múltiples fuentes dispares. El científico de datos examinará todos los datos entrantes con el objetivo de descubrir una información previamente oculta, que a su vez puede proporcionar una ventaja competitiva o abordar un problema empresarial urgente. Un científico de datos no solo recopila e informa sobre los datos, sino que también los mira desde muchos ángulos, determina lo que significa y luego recomienda formas de aplicar los datos.

Los científicos de datos son inquisitivos: exploran, hacen preguntas, hacen análisis de “qué pasaría si”, cuestionan los supuestos y procesos existentes

Los datos se duplican cada dos años, y todos han oído hablar de los números de crecimiento absurdos indicados en los informes. En este contexto, el resultado inevitable es la aparición del Data Scientist. Un científico de datos necesita analizar grandes cantidades de datos y proyectar el mapa tecnológico para hacer posible la transición de datos a ideas. El alcance del trabajo de un científico de datos incluye la identificación de las fuentes de datos, la calidad de los datos, las correlaciones entre los puntos de datos y la difusión a los usuarios de la información.

Por el momento, el papel de un científico de datos lo desempeña una combinación de personas en el equipo de BI, como el arquitecto del almacén de datos, el analista de negocios y otros de esa clase. A medida que la situación evoluciona, el científico de datos trabajará por encima de estos profesionales para descubrir nuevas tendencias y asociaciones que puedan estar más allá del ámbito de los modelos actuales y los problemas comerciales. El analista de negocios trabajaría en los datos que ha recopilado el científico de datos. James Kobielus, un analista senior de Forrester, en su negocio, llega a comparar el trabajo de un científico de datos con el trabajo de científicos en ciencias naturales y ciencias sociales, afirmando que necesitarían datos de observación y datos experimentales para trabajar con. “Históricamente ( los científicos de datos ) han tenido que contentarse con meros ejemplos”. Con el surgimiento de una carrera de pleno derecho, esto pronto cambiará.

Las discusiones sobre quién está calificado exactamente para ser un científico de datos no difieren demasiado del debate que se sostuvo anteriormente sobre si, sin embargo, al principio, los expertos de la industria han indicado que un científico de datos debe tener una maestría en matemáticas o estadísticas. Mientras tanto, el CTO del grupo en Shoppers Stop dice: “Hay una escasez de profesionales a los que se les puede llamar científicos de datos. Por el momento, quien tiene pasión por trabajar con datos está llenando el vacío ”.

Un científico de datos trabajará en el desarrollo de nuevos algoritmos y presentará nuevos patrones e ideas sobre los datos que de otro modo permanecerían ocultos. “Junto con las estadísticas, un científico de datos puede tener una calificación en economía, y definitivamente necesita una docena o más de experiencia trabajando con diez a quince herramientas de BI”, dice Chuck Hollis, vicepresidente de marketing global y CTO, EMC.

un proveedor de servicios de análisis y ciencia de decisiones dice que “los científicos de datos también incursionarán en psicología experimental, antropología y ciencias sociales”. Con la necesidad de establecer centros de excelencia de BI (CoE), los análisis se institucionalizarán.

Con la llegada de las redes sociales impactando la mayoría de las facetas de los negocios, las organizaciones esperan integrar la tecnología, el software social y el BI para crear un entorno de toma de decisiones agradable. El científico de datos será responsable de proporcionar un contexto social a la información. BI y análisis bailan a una nueva melodía cuando adoptan nuevos enfoques como Hadoop. No esperan datos estructurados, limpios y prístinos, sino que trabajan con una mezcla de datos para proporcionar un análisis en tiempo real o cercano. La analítica descriptiva, la analítica inquisitiva, la analítica predectiva y prescriptiva son parte del nuevo paradigma, con el científico de datos en el centro.

La curva de evolución se está moviendo del apoyo a la toma de decisiones a ser cada vez más operativo, con una progresión inminente que llevará la competencia estratégica a un nivel completamente nuevo con los científicos de datos en la imagen. BI entró en escena hace quince años y TI poseía estas iniciativas. Ahora, BI es una función comercial que involucra investigación de mercado con un enfoque central en análisis. Las compañías con grandes volúmenes de datos (internos y externos) irían a The Notion Market sin pestañear, pero las compañías más pequeñas lo pensarían dos veces antes de pagarle a alguien para hacer algo que su proveedor de BI les dijo que haría su producto de BI.

Normalmente, los científicos de datos prefieren un software con una buena característica de informes de datos como este aquí:

Creador de gráficos para visualización de datos

Los investigadores usan una serie de funciones que incluyen:

  • marcas preestablecidas, símbolos, plantillas, etc.
  • Interfaz de usuario clara
  • Herramienta editable para crear nuevos símbolos.
  • Compartir en la nube para el trabajo en equipo de investigación
  • Diagramas y gráficos fáciles de editar, es decir, fuentes de texto, color de fondo, estilo de tema de gráfico, tipos de conectores, etc. para mostrar diferentes factores.
  • Conveniente para agregar imágenes, notas, comentarios, enlaces, etc. para informes grupales y presentaciones.
  • Fácil de ver en tamaños grandes o en pantalla completa para la reproducción de datos en general
  • Se puede exportar en diferentes formatos como correos electrónicos, PDF, HTML, etc.

Encuentra más:

Cuadros y plantillas de gráficos gratuitos

Habilidades de mapeo mental

Creador de organigramas

He estado trabajando con datos durante mucho tiempo. Permítame darle una breve perspectiva de cómo las herramientas encajan en mi flujo de trabajo general.

En primer lugar, mis entornos de desarrollo favoritos:

1. Cuaderno Ipython (Jupyter): para trabajar con Spark y Python. Esto le da mucho control sobre lo que haga al capturar los detalles a medida que avanza en su trabajo.

2. RStudio: puede llamarlo el ipython Analógico para R. Principalmente trabajo con Python, pero si tengo que trabajar con R no hay mejor entorno de desarrollo.

3. Texto sublime: a veces necesitas escribir grandes scripts en python para Hadoop y necesitas una autocompletación increíble. Además, este es un entorno de elección para escribir las publicaciones de mi blog. Esto es sobre lo que estoy escribiendo esta respuesta.

Trabajo exclusivamente con Python y, a veces, con R. Y hay algunos módulos increíbles que podrías / deberías usar.

Módulos:

1. Pandas (Python): trabajar con marcos de datos en Python

2. Scikit-Learn (Python): un impresionante módulo de algoritmo de aprendizaje automático en Python. Puede contener la mayoría de los algoritmos que quizás quiera usar.

3. NetworkX (Python): otra biblioteca impresionante para trabajar con gráficos.

4. Seaborn / Matplotlib (Python): Haz gráficos hermosos usando Python

5. ggPlot (R): Haz hermosos gráficos usando R

Excel ayuda mucho con pequeños conjuntos de datos y cuando necesita trabajar con CSV. Envío de informes, etc.

Bash ayuda mucho a encontrar estadísticas de resumen para archivos realmente grandes.

Otra cosa que debes saber es cómo evitar SQL. Necesitarías SQL en todas partes. Para obtener datos de bases de datos relacionales. Para hacer consultas ad hoc. A veces, SQL podría facilitarle la vida cuando podría usar SQL con Spark para hacer algo que hubiera requerido mucho esfuerzo. A veces, los CSV no son suficientes y los datos residen en el servidor en una base de datos. En esos puntos, conecto mis programas Python a la Base de datos SQL ( MySqlDB – Otro módulo Python) para trabajar con datos.

¿Nadie ha mencionado Vowpal Wabbit (Aprendizaje rápido)? Probablemente sea mi herramienta de aprendizaje automático favorita para grandes conjuntos de datos (diseñada por Yahoo y lanzada de código abierto, con el trabajo ahora en Microsoft).

También sofia-ml: conjunto de algoritmos incrementales rápidos para el aprendizaje automático. Incluye métodos para aprender modelos de clasificación y clasificación, utilizando Pegasos SVM, SGD-SVM, ROMMA, Perceptrón pasivo-agresivo, Perceptrón con márgenes y Regresión logística. – Proyecto de alojamiento de Google.

Tampoco se menciona Weka – Minería de datos con software de aprendizaje automático de código abierto en Java – es útil para jugar con pequeños conjuntos de datos y tener una idea de varios algoritmos (es demasiado lento para un trabajo serio en general).

También uso una gran cantidad de portátiles iPython con Pandas + SciKit + SKlearn scikit-learn: aprendizaje automático en Python

También R (selección ridículamente grande de herramientas útiles, pero la mayoría de las cosas más útiles está duplicada en la pila SKLearn + Pandas + SciKit y la programación en R es irregular, también hay enlaces de python para R) y ocasionalmente Mathematica.

Para la visualización: ggplot o matplotlib, también hay herramientas para exportar a la visualización web.

Abhinav Sharma ha cubierto la mayoría de las cosas importantes restantes.

Ferris Jumah, un científico de datos en LinkedIn, el análisis del conjunto de habilidades de los perfiles de LinkedIn de los científicos de datos ofrece algunas pistas: La Red de Habilidades de Ciencia de Datos

Según mi experiencia, Data Science es menos sobre las herramientas y más sobre datos, problemas de negocios y modelos. Lo digo porque, dependiendo de los datos, la disponibilidad de tiempo y el problema comercial, podemos usar diferentes herramientas de manera efectiva. Por ejemplo –
1. Si el tamaño de los datos es pequeño y el tiempo es limitado, entonces se puede usar Excel para limpiar datos y construir un prototipo rápidamente. Sorprendentemente, ninguna de las respuestas habla de Excel: el producto más impresionante de Microsoft
2. Si los datos son enormes y la disponibilidad de tiempo es menor, recomendaría usar R, algunos de los prácticos paquetes son: data.table (creo que esta es la mejor estructura de datos disponible en R), ggplot2, matriz, remodelación, etc.
3. Si los datos son enormes y el tiempo no es un problema, recomendaría usar Python, ya que ayuda a obtener un código de nivel de producción. Algunos de los paquetes útiles son: numpy, pandas, scikit, etc.
Sin embargo, nuevamente enfatizaría que Data Scientist debe ser independiente de las herramientas y debe estar listo para aprender cualquier herramienta que sea útil para resolver un problema dado. Lo digo porque tuve que aprender neo4j (una base de datos de gráficos) en un par de días cuando estaba trabajando en la creación de Knowledge Graph, en mi organización anterior, para poder resolver el problema de una manera más efectiva. Además, las herramientas de Data Scientist siguen cambiando de una organización a otra, ya que cada compañía tiene su herramienta preferida para hacer Data Science.

Aquí está mi opinión sobre las herramientas para la ciencia de datos:
Ciencia de datos: un juego de herramientas

A pesar de la descripción detallada anterior, diría que depende del objetivo, lo que está tratando de lograr. Una herramienta no puede satisfacer todas las necesidades de un científico de datos.
Las herramientas como Ruby, Scala, Hadoop y Spark están excluidas de la comparación, ya que tienen usos muy específicos. La comparación anterior es sobre modelado estadístico y gestión de datos.

Gracias
Pradeepta

Si está interesado en lo que usamos en Quora, consulte mi respuesta en ¿Qué herramientas usan los científicos de datos en Quora?

Mis entornos de desarrollo favoritos.

  • RStudio – para mis análisis R
  • iPython Notebook : para mis análisis de Python
  • Sublime Text 3 – para mi codificación + LaTeX

Mis bibliotecas favoritas

  • ggplot2 (R) – biblioteca gráfica para R (también ahora con un puerto Python)
  • plyr (R): lo juro por ddply, esto ha facilitado mucho la manipulación de datos
  • pandas (Python): para replicar la funcionalidad del marco de datos de R

Si está interesado en convertirse en un profesional en iPython / pandas / matplotlib / network visualización, consulte mi respuesta a ¿Cómo aprendo la minería de datos? ¿Este curso de Harvard cs109 sigue siendo válido con desarrollos recientes?