Temática

Python

Tiempo de lectura

5 minutos

Clave de contenido del artículo

Luis ha decidido ser Data Scientist. Desde hace tiempo lleva dándole vueltas a dedicarse a la inteligencia artificial, pero no sabe por dónde empezar. Tras consultar en Google y a ChatGPT qué herramientas son las más adecuadas para iniciarse, concluye que desde hace tiempo hay dos lenguajes de programación más utilizados en este mundo: R y Python. Luis decide dejar de lado debates eternos y decide aprender los dos, porque ¿existe acaso incompatibilidad? Tira una moneda al aire y el resultado es empezar por Python.

De Python no sabía mucho, más allá de que es un lenguaje de programación. Buceando un poco, llega a definiciones del tipo: “Se trata de un lenguaje de programación multiparadigma, ya que soporta parcialmente la orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, dinámico y multiplataforma.”

Santiago Moreno

Senior Data Scientist y profesor de Python y machine learning en datahack

Autor del artículo

En resumen, Python sirve para todo, desde modelos de machine learning hasta para desarrollar YouTube. Para esto, Luis ve que Python se apoya en múltiples módulos, paquetes o “librerías”, “libraries” en inglés que son una ayuda para cada uno de los aspectos que se pueden utilizar con Python. En concreto para IA hay varias indispensables: Pandas, numpy, scikit learn, Keras, Matplotlib, Seaborn…. y unas cuantas más.

Por tanto, no basta con descargarse Python, sino que hay después que instalar múltiples bibliotecas o “librerías” para poder trabajar y, lo que es más complicado: cada librería depende a su vez de otras, lo cual hace que pueda haber incompatibilidad de versiones... y ¿cómo solucionar todo este lío? Cuando está a punto de tirar la toalla, Luis descubre Anaconda.

Anaconda es una distribución de Python (también de R), es decir, en lugar de instalar Python simplemente te instalas Anaconda y con ella ya tienes las principales herramientas Open Source que el Data Scientist necesita para desarrollar su actividad.

¿Cómo instalar Anaconda Python?

Instalar Anaconda es muy fácil; viene ya preparado para descargar el instalador según el sistema operativo que se quiera utilizar e instalarlo:

Haz clic aquí.

Cómo trabajar con Anaconda: Jupyter Notebook y Spyder

La instalación de Anaconda viene directamente con Jupyter Notebook como herramienta de notebooks y de Spyder como IDE de programación.

El Notebook es una herramienta muy habitual en el trabajo habitual del científico de datos. En su propia web se define como “Jupyter Notebook es una interfaz web de código abierto que permite la inclusión de texto, vídeo, audio, imágenes así como la ejecución de código a través del navegador en múltiples lenguajes. Esta ejecución se realiza mediante la comunicación con un núcleo (Kernel) de cálculo.”

Haz clic aquí.

Precisamente esa capacidad de poder incluir código junto con imágenes y texto es lo que hace particularmente adecuado para el análisis de datos, pues te permite llevar un hilo argumental a medida que se va llevando a cabo el estudio, los modelos, extrayendo las métricas, etc.

Sin embargo, los notebooks tienen una importante limitación: no permiten de modo fácil la productivización de los distintos algoritmos. Para esto es mejor recurrir a lo que se conoce como un IDE, es decir, un entorno para desarrollo integrado. Anaconda viene integrado con Spyder para lo que es la parte más de desarrollo y menos de análisis.

Haz clic aquí.

Entorno de Python en Anaconda

Una de las particularidades de Python como lenguaje Open Source es su continua evolución que puede hacer que desarrollos pasados que utilizaban ciertas versiones sean incompatibles con versiones más modernas. No solo casos ya extremos como una aplicación desarrollada con Python 2 que no funcione en Python 3, sino incluso métodos de librerías como pandas que se modifican o dependencias que cambian al actualizar las versiones.

Los entornos de Anaconda precisamente permiten manejar este tipo de situaciones. Un entorno de Anaconda se puede entender como un espacio aislado, independiente, donde las librerías y versión de Python se mantienen congeladas. Así, si tenemos un desarrollo muy importante que queremos seguir manteniendo con una combinación de versiones de librerías, lo ideal es tenerlo de modo estático o perenne en uno de estos entornos de anaconda.

Una de las recomendaciones a la hora de abordar proyectos es, precisamente, tener un entorno base con la instalación de Anaconda o incluso Miniconda (ya veremos la diferencia) y a partir de ahí, que cuelguen los diferentes entornos con las librerías requeridas para cada caso.

Los comandos más habituales para trabajar con entornos son:

Instalación de librerías en Anaconda: Conda

Conda no es lo mismo que Anaconda: Conda es un gestor de paquetes, mientras que Anaconda es una distribución que, además de Python, incluye las librerías más habituales para el día a día del análisis de datos. Esto se traduce en que es Conda quien se va a encargar de manejar las distintas dependencias entre librerías de las que ya hemos hablado.

En resumen, es quien se va a ocupar cuando queramos actualizar una librería o instalar una nueva de que todo marche bien. La ventaja de habernos instalado Anaconda es que Conda viene integrado.

¿Esto significa que sin Conda no podríamos instalar nuevas librerías? No. Python incorpora un comando, Pip, que precisamente sirve para instalar nuevos módulos. Tanto Conda como Pip son válidos para instalar librerías, si bien, siempre que se pueda recurrir a Conda, merece la pena utilizarlo.

Por tanto, siempre que se quiera instalar una librería, podemos seguir los siguientes pasos que se van a ilustrar con un ejemplo. Supongamos que se desea instalar una librería que no viene por defecto con Anaconda, como puede ser Swifter. 

En este caso, bastaría con ejecutarlo en la línea de comandos de Anaconda:

Basta escribir “pip install swifter” en la línea de comandos:

Conclusión

El mundo de la Inteligencia Artificial y de la ciencia y análisis de datos está muy ligado a Python y esto implica, necesariamente, adaptarse a las particularidades de este mundo. Anaconda viene tanto a solucionar la entrada a los que se inicien en este apasionante mundo como a ser una herramienta imprescindible en el día a día para los científicos de datos más experimentados gestionando por nosotros entornos, librerías o paquetes etc. Desde luego, es una solución muy recomendable para el día a día del análisis de datos.

Si te ha gustado este artículo...

Conoce ahora nuestro

Máster Experto en Data Science y Big Data

¡Infórmate ya!

Tras ver qué podemos hacer conectando twitter y R y cómo hacerlo, además de algunas de las funciones más importantes, y cómo segmentamos seguidores, toca mostrar algunas de las funciones que nos permiten analizar publicaciones y hashtags.

ANÁLISIS DE PALABRAS MÁS REPETIDAS JUNTO A UN HASHTAG

Ver qué palabras tienen asociadas ciertos hashtags relevantes nos permiten no solo encontrar más hashtags para añadir a nuestra publicación, sino a detectar nuevas temáticas relacionadas y afinar las palabras que usamos en nuestras publicaciones. Lo primero que debemos hacer es instalar y llamar todas las librerías que vimos anteriormente, conectar con la API de twitter, usar la función para sacar la información del hashtag que nos interesa y convertirlo en un dataframe. Luego, lo convertimos en un string y hacemos todas las operaciones que mencioné en el artículo anterior para limpiar el texto al máximo y sacar una tabla de frecuencias con las palabras más repetidas ordenadas. Todas las instrucciones para hacer esto están en los artículos anteriores, por eso pasamos rápido por este punto.

QUÉ USUARIOS SON LOS QUE MÁS USAN ESE HASHTAG

Detectar los usuarios más activos en un tema nos ayuda no solo a detectar seguidores potenciales, sino también a influencers en el tema y a personas que pueden generar contenidos que nos interesa compartir con nuestra audiencia. Hacerlo es muy sencillo: sobre el dataframe que creamos inicialmente para sacar las publicaciones de un determinado hashtag, hacemos lo siguiente:

#qué usuarios son los que más han empleado el hashtag:
#eliminamos los retweet y nos quedamos sólo con los nombres de los usuarios que han escrito el tweet
usuarios <-subset(dataframehashtag,isRetweet==FALSE)$screenName
#Opción 1: los tabulamos y ordenamos.
usuarios<-sort(table(usuarios),decreasing=T)
#Opción 2: ver directamente los x iniciales
usuarios[1:x]

QUÉ CONTENIDOS DE UN HASHTAG SON MÁS POPULARES

En twitter, la medida de popularidad de una publicación está en la interacción que tiene (respuestas, favoritos y retweets, en especial estos dos últimos) así que sacar las publicaciones más populares de un hashtag es tan sencillo como crear un filtro en el dataframe para sacar las publicaciones en las que haya al menos x interacciones

#contenido más retuiteado
#retuiteado + fav
contenido_popular<-filter(dataframehashtag, dataframehashtag[["favoriteCount"]]>x, dataframehashtag[["retweetCount"]]>x)
#solo retuiteado
contenido_popular2<-filter(dataframehashtag, dataframehashtag[["retweetCount"]]>x)

Hay que tener presente que, según el sector, a veces la gente no hace retweet pero sí fav, o al revés, o no hace ninguna de las dos pero sí responde a las publicaciones. También, según el tipo de hashtag, x deberá ser mayor o menor. Así pues, es tan fácil como ajustar el código a las circunstancias. Luego, sobre eso, podemos hacer un nuevo filtro para sacar las palabras más populares del contenido más popular, lo que nos indicará qué no debe faltar en nuestras publicaciones para tener potencial de éxito.

ANÁLISIS DE SENTIMIENTOS DE UN HASHTAG

El análisis de sentimientos nos permite monitorizar opiniones sobre determinados temas, saber hasta qué punto en un sector se utilizan un tipo de mensajes u otros (aprovechando miedos de los consumidores para vender determinados productos frente a ventas atrayendo a los seguidores con los beneficios, por ejemplo)... Para hacerlo, además de las anteriores, necesitamos instalar y ejecutar las librerías SnowballC, tm y syuzhet. Con ellas hay que tener un poco de paciencia, a veces fallan y hay que ejecutarlas varias veces, aunque suelen funcionar de forma correcta. Hecho esto, creamos un dataframe con los datos del hashtag que nos interesa y, quedándonos solo con la columna text, eliminamos hashtags, @, url y toda la información que no es relevante para el análisis mediante la función gsub, que mostré en el artículo anterior. Luego comenzamos a trabajar con definiciones de sentimientos. Por ejemplo, podemos crear una tabla en la que nos muestre si las publicaciones contienen palabras asociadas a los sentimientos principales y cuántas hay.

#Insertando palabras de definición de sentimientos
word.df <- as.vector(dataframehashtag)
emotion.df <- get_nrc_sentiment(word.df)
emotion.df2 <- cbind(bigdata.df2, emotion.df)

Saldrá algo parecido a esto:

análisis datos twitter

También podemos sacar publicaciones donde predomine un sentimiento mediante este código:

#extrayendo puntuación de sentimientos
sent.value <- get_sentiment(word.df)
#más positivos (si queremos los más negativos, cambiamos max por min
most.positive <- word.df[sent.value == max(sent.value)]
#simplemente positivos (si queremos negativos o neutros, poner < o == respectivamente)
positive.tweets <- word.df[sent.value > 0]
#tabla resumen
category_senti <- ifelse(sent.value < 0, "Negative", ifelse(sent.value > 0, "Positive", "Neutral"))
table(category_senti)

Y este es el resumen del código utilizado en la charla de Analizando datos de twitter con R, impartida por Déborah Fernández el pasado día 27. Si queréis ver la charla completa con explicaciones más detalladas y ejecución de parte del código en directo, podéis visitar nuestro canal de youtube.

¿QUIERES APLICAR TODO ESTE CONOCIMIENTO? COMIENZA A A PROGRAMAR EN R

En nuestro curso de Análisis de datos con R aprenderás de forma rápida a utilizar este lenguaje.

Una vez tenemos claro qué podemos hacer conectando twitter y R y cómo hacerlo, además de algunas de las funciones más importantes, es el momento de comenzar nuestro análisis. El análisis de datos de twitter con R seguidores te ofrece la posibilidad de extraer más información sobre tus seguidores.

SEGMENTANDO A MIS SEGUIDORES

Una vez que hemos sacado los seguidores de un usuario con la función getfollowers que comenté en el artículo anterior, podemos hacer una segmentación por idioma, localización, nivel de influencia… El análisis de datos de twitter con R seguidores es clave para conocer más sobre los perfiles

CÓMO SE AUTODEFINEN MIS SEGUIDORES

La descripción de cada usuario en twitter es, obligatoriamente, corta. Esto le obliga a seleccionar muy bien el texto para autodefinirse de la forma más precisa. Así pues, hacer un análisis de esos textos nos ayudará a segmentarlos cualitativamente, aparte de las obvias segmentaciones más clásicas. Para ver las palabras más repetidas mediante una nube de palabras, debemos instalar y llamar las librerías wordcloud y RColorBrewer, además de las que mencioné en el artículo anterior. El análisis de datos de twitter con R seguidores es una serie de artículos.

Lo primero que debemos hacer es conectar con la API de twitter, cargar todas las librerías, sacar la información del usuario cuyos seguidores queremos analizar, conseguir sus seguidores y convertirlo todo en un dataframe (el código está en el artículo anterior). Para este ejemplo, usaremos un dataframe llamado seguidores

#convertimos la descripción de esos seguidores en un String. 
texto2 <- toString(seguidores$description)
#El texto lo transformamos en una lista separada por espacios
texto_split2 = strsplit(texto2, split=" ")
#Deshacemos esa lista y tenemos el data.frame
texto_col2 = as.character(unlist(texto_split2))
texto_col2 = data.frame(toupper(texto_col2))
names(texto_col2) = c("V1")
#Eliminamos algunos caracteres regulares
texto_col2$V1 = gsub("([[:space:]])","",texto_col2$V1)
texto_col2$V1 = gsub("([[:digit:]])","",texto_col2$V1)
texto_col2$V1 = gsub("([[:punct:]])","",texto_col2$V1)
#Creamos una variable longitud de la palabra
texto_col2$largo = nchar(texto_col2$V1)
#Quitamos palabras cortas (también hay funciones que permiten quitar palabras comunes como de, en, para...)
texto_col2 = subset(texto_col2,largo>4 & largo<=10)
#crear dataframe
palabras_seguidores = data.frame(table(texto_col2$V1))
#Ordenamos
palabras_seguidores_f<-filter(palabras_seguidores, palabras_seguidores[["Freq"]]>3)
arrange(palabras_seguidores_f, desc(palabras_seguidores_f[["Freq"]]))
#Hacemos la nube de palabras
wordcloud(words = palabras_seguidores_f$Var1, freq = palabras_seguidores_f$Freq, min.freq = 1, max.words=200, random.order=FALSE, rot.per=0.35,colors=brewer.pal(8, "Dark2"))

De esta forma, tendremos una tabla ordenada con las palabras más frecuentes y una nube de palabras que nos permitirá ver los resultados de una forma más sencilla y bonita. Por ejemplo, si lo hacemos con los seguidores de la academia digital para personas con discapacidad de Fundación ONCE, cuyos cursos hemos llevado a cabo, veremos algo parecido a esto:

análisis datos twitter

Como veis, de un solo vistazo vemos qué intereses tienen nuestros seguidores (o los seguidores de cualquiera) por orden de importancia, lo que nos da mucha información sobre ellos.

Optimizando followbacks

A la hora de crear una estrategia de followbacks efectiva no tenemos que perder el tiempo siguiendo a todo el que sigue a nuestra competencia para que nos siga de vuelta. Lo que debemos hacer es dirigirnos directamente a la gente que tiene potencial interés en nuestro tema, segmentada por lenguaje o localización y que además no sea de los que basan completamente en el followback su estrategia de crecimiento en redes sociales.

Para ello, podemos crear una columna nueva con la diferencia de seguidores y seguidos filtrando luego las filas con las características que nos interesan:

#creamos una columna nueva con la diferencia de seguidores y seguidos
followbackseguidores<-mutate(seguidores, DiferenciaSeguidos = followersCount-friendsCount)
#nos quedamos solo con las filas que tienen parámetros que nos interesan, en este caso lenguaje inglés con más seguidores que seguidos
followback1<-filter(followbackseguidores, lang=="en", DiferenciaSeguidos==TRUE)

Podemos incluso hilar más fino y quedarnos solo con los que en su descripción contienen ciertas palabras. análisis de datos de twitter con R seguidores

value <- "palabraquequieres"
followback2<-transmute(followback1, screenName, description, lang, DiferenciaSeguidos, contieneBD=grepl(value, followback1$description))
followback3<-followback2[followback2$contieneBD==TRUE,]

¿QUIERES APLICAR TODO ESTE CONOCIMIENTO? COMIENZA A A PROGRAMAR EN R

En nuestro curso de Análisis de datos con R aprenderás de forma rápida a utilizar este lenguaje.

 

Ya hemos hablado en otra entrada de qué es R y de su potencial. Hoy, nos centraremos en cómo puede esta herramienta ayudarnos a sacar el máximo partido de nuestros datos de twitter. Cada vez hay más librerías relacionadas con twitter que podemos utilizar para extraer y analizar estos datos, pero para este caso utilizaremos Twitter. ANÁLISIS DE DATOS DE TWITTER CON R

DATOS DE LOS TEXTOS GENERADOS

Cada tweet creado nos da mucha información relevante: desde su origen en según qué plataformas hasta cuántas interacciones posee, aparte del propio texto. En esta imagen, podemos ver qué información nos dan algunos de los tweets de datahack. ANÁLISIS DE DATOS DE TWITTER CON R

datos que podemos sacar de un tweet para análisis

DATOS DE LOS USUARIOS

Entre los datos más relevantes de cada usuario, podemos sacar desde su propia autodescripción, su nivel de influencia (seguidores-seguidos), cómo de activo es, procedencia… En esta imagen podemos ver la información de nuestro usuario @datahack_

datos que podemos sacar de un usuario para análisis

ANÁLISIS RELEVANTES

Con todo lo recogido, podemos sacar información bastante útil para optimizar nuestro posicionamiento y el tipo de mensajes que mandamos en las redes sociales y podemos realizar:

CÓMO EMPEZAR EL ANÁLISIS DE DATOS DE TWITTER CON R

Para conectar twitter con el programa en el que estemos ejecutando el lenguaje R, lo primero que necesitamos es una cuenta en la API de twitter. Una vez que la tengamos, podremos conectarnos gracias a las claves que nos proporcione.

La API de twitter tiene algunas limitaciones, como un número máximo de tweets recuperados por consulta y una limitación de tiempo mínimo entre consulta y consulta. Si nos pasamos podemos ser bloqueados, así que tenemos que tener cuidado y poner siempre un tamaño de muestra inferior a 200, sin hacer varias consultas en la misma ejecución. Si necesitamos muestras más grandes, podemos hacer varias consultas periódicamente en las que vayamos descargando datos (son en orden cronológico) y uniéndolos, por ejemplo. ANÁLISIS DE DATOS DE TWITTER CON R

En cualquier caso, lo más interesante del análisis de datos en twitter es la inmediatez, para ver las tendencias de cada momento, ya que los hashtags populares y las palabras asociadas a los mismos, por ejemplo, pueden cambiar de un día para otro, por lo que con una muestra de 100 es más que suficiente.

Conectaremos la API de twitter con R mediante el siguiente código:

# Cargar las credenciales
consumer_key <- "xxx"
consumer_secret <-"xxx"
access_token <-"xxx"
access_secret <-"xxx"
setup_twitter_oauth(consumer_key, consumer_secret, access_token=access_token, access_secret=access_secret)

FUNCIONES BÁSICAS

Una vez hecho esto, podemos ponernos a trabajar. Algunas de las funciones más básicas que debemos aprender son las llamadas para recuperar información y cómo convertirlas en dataframes   con los que trabajar. No olvidemos que, para trabajar con los datos de twitter, tendremos que instalar y llamar las librerías twitteR, base64enc y tidyverse

Si quieres profundizar en la herramienta R, ¡en datahack te ayudamos! Con nuestro Master en Data Science y Big Data aprenderás todo lo que necesitas para dar un paso al mundo de los datos.

SACAR TODA LA INFORMACIÓN DEL TIMELINE Y CARACTERÍSTICAS DE UN USUARIO

#sacar tweets de un usuario:
usuario<- userTimeline('usuario',n=100)

Para conseguir solo algunos de los datos más importantes, como seguidores y seguidos, podemos usar este código (sin olvidar convertirlo después en un dataframe):

#Sacar información de un usuario:
usuario<- getUser('usuario')
#conseguir sus seguidores
usuario_seguidores <- usuario$getFollowers(retryOnRateLimit=120)
#conseguir sus seguidos
usuario_seguidores <- usuario$getFriends(retryOnRateLimit=120)

SACAR TODA LA INFORMACIÓN DE UN HASHTAG

#buscamos el hashtag, limitamos la búsqueda a 100 tweets desde el 01 de junio de 2018.
hashtag<-searchTwitter("#hashtag", n=100, since='2018-06-01')

HACER LOS DATAFRAMES

No hay que olvidar que toda esta información que saquemos, para trabajar con ella, hay que convertirla en un dataframe con la función do.call o twListToDF. Esta es la estructura de ambas:

do.call("rbind", lapply(xxx, as.data.frame))
twListToDF(xxx)

ANÁLISIS DE DATOS DE TWITTER CON R. Una vez que tenemos todo esto, podemos comenzar a trabajar en el análisis de toda esa información, que es lo que mostraremos en los próximos artículos:

 

MÁSTER EN DATA SCIENCE Y BIG DATA

¿Quieres convertirte en un profesional de la herramienta R? En datahack encontrarás a tu mejor aliado. Consulta nuestra oferta de Máster en Data Science y Big Data , práctica y adaptada a las necesidades del mercado. ¿Tienes dudas? Pregúntanos directamente todo lo que se te ocurra. ¡Empieza ya a abrirte camino como especialista en Inteligencia de Negocio!

R es un entorno y lenguaje de programación, distribuido bajo la licencia GNU GPL, que se creó como un dialecto libre del lenguaje S.

Algunas de las características de R:

Extensible:

Los usuarios lo pueden extender definiendo sus propias funciones, aparte de las de las numerosas bibliotecas preconstruidas que tiene. La mayor parte de ellas están escritas en R, aunque para algoritmos computacionalmente exigentes es posible desarrollarlas en C, C++ o Fortran. Como es un proyecto colaborativo y abierto, los propios usuarios pueden publicar paquetes que extienden su configuración básica.

Funcional

Las funciones en R se pueden manipular igual que los vectores. Además puedes asignar las funciones a variables, almacenarlas en listas, devolverlas como resultados de otras funciones o incluso pasarlas como argumentos de otras funciones

Orientado a Objetos:

¡Sí! Además de ser funcional, es orientado a objetos, en realidad es una mezcla de ambos paradigmas. En el caso de del segundo de ellos, R nos permite modelar conceptos del mundo real relevantes a nuestro problema, representándolos como clases y objetos que podemos hacer que interactúen entre sí.

Integrable:

Ofrece múltiples posibilidades para atacar a datos almacenados en distintos tipos de bases de datos. También presenta múltiples bindings y paquetes que permiten a R interactuar con otros lenguajes (como Perl, Ruby o Python) e intercambiar objetos con ellos.

Gráficos avanzados:

Existen librerías para R que permiten generar una extensa variedad de gráficos, desde la completísima ggplot2hasta otras más simples pero también potentes como corrplot

Diferentes Interfaces gráficos:

Si bien R se puede utilizar a través de línea de comandos, existen varios editores gráficos muy interesantes capaces de correr en Windows, Linux y MacOS. Destacamos especialmente R Studio y R Commander.

Interpretado y no compilado:

A diferencia de C, C++ ó Java, no tenemos que compilar nuestro código, sino que el intérprete de R lo ejecuta directamente. Lo curioso de esto es que, puesto que muchas de sus rutinas computacionalmente más exigentes están escritas en C ó C++, muchas veces, sin que nos demos cuenta, se estará ejecutando, entre bambalinas, código compilado en esos lenguajes.

Basado en memoria:

R mantiene todos los objetos que definimos en nuestro programa en la memoria de nuestra máquina. Por ello, es importante entender cómo gestiona la memoria, para poder optimizar nuestro código. Así evitamos, por ejemplo, copias innecesarias de objetos que pueden ralentizarlo y hacer llegar a un límite nuestra máquina.

Qué podemos hacer con R:

Este lenguaje de programación fue concebido para el análisis estadístico, aunque también se utiliza en la minería y análisis de datos, investigación biomédica, bioinformática, machine learning… Esto es porque proporciona un amplio abanico de herramientas estadísticas y gráficas, además de tener una gran potencia como herramienta de cálculo.

MÁSTER EXPERTO BIG DATA ANALYTICS

Gracias al Master en Big Data Analytics 100% Online tendrás amplios conocimientos sobre las herramientas y técnicas analíticas necesarias para la modelización de los principales retos de negocio, con el fin de mejorar la toma de decisiones a través de los datos y el conocimiento.

Una de las labores principales del científico de datos Big Data es la conversión de datos en conocimiento útil para la empresa. Para realizar este interesante trabajo necesitan utilizar herramientas Big Data específicas, tanto de pago como de Open Source. De hecho, según la decimosexta encuesta de KDNuggets, el 64 por ciento de los científicos de datos utilizan ambas herramientas Big Data.

Desde la perspectiva de datahack, las diez herramientas Big Data imprescindibles para la correcta labor del científico de datos son las siguientes:

1.- SQL. Structured Query Language. Requiere manejo de fórmulas algebraicas y cálculo relacional. Es un lenguaje de acceso a base de datos.

2.- Python.  Es un lenguaje avanzado de programación interpretado que posee una sintaxis capaz de producir código legible. Permite tanto programación dirigida a objetos como funcional e incluso imperativa (Instrucciones que le explican al ordenador cómo debe realizar una determinada tarea). Además, puede utilizarse en múltiples plataformas

3.- R. Es la más usada de las herramientas Big Data entre los científicos de datos, lo que asegura la existencia de multitud de paquetes y librerías fácilmente reutilizables. Es un lenguaje de programación con software de código abierto, destinado a la programación estadística y los entornos gráficos

4.- KNIM. Konstanz Information Miner, construido bajo la plataforma Eclipse, es una plataforma de minería de datos que permite el desarrollo de modelos en un entorno visual.

5.- RapidMiner. Permite desarrollar procesos analíticos de un entorno gráfico. Antiguamente era denominado YALE (Yet Another Learning Environment). Proporciona más de quinientos operadores dedicados al análisis de datos, incluyendo los necesarios para realizar operaciones input y output, pre-procesamiento y visualización. Tiene la ventaja de poder usar los algoritmos de Weka.

6.- Tableau. Se centra en la visualización de datos.

7.- Hadoop. Esta herramienta está actualmente considerada como el framework estándar para el procesamiento y almacenamiento de grandes volúmenes de datos.

8.- Spark. Es una ventana de trabajo de desarrollo. Su motor rápido le permite procesar datos a gran escala además de realizar procesamiento en memoria.

9.- SAS.  SAS es la líder de las herramientas Big Data en el mercado del Business Intelligence.

10.- Excel. Esta herramienta de Microsoft es esencial como herramienta de creación y gestión de bases de datos.

chevron-down