Big Data Analytics: recopilación de datos
La recopilación de datos juega el papel más importante en el ciclo de Big Data. Internet proporciona fuentes de datos casi ilimitadas para una variedad de temas. La importancia de esta área depende del tipo de negocio, pero las industrias tradicionales pueden adquirir una fuente diversa de datos externos y combinarlos con sus datos transaccionales.
Por ejemplo, supongamos que nos gustaría construir un sistema que recomiende restaurantes. El primer paso sería recopilar datos, en este caso, reseñas de restaurantes de diferentes sitios web y almacenarlos en una base de datos. Como estamos interesados en el texto sin formato, y lo usaríamos para análisis, no es tan relevante dónde se almacenarían los datos para desarrollar el modelo. Esto puede parecer contradictorio con las principales tecnologías de big data, pero para implementar una aplicación de big data, simplemente necesitamos hacer que funcione en tiempo real.
Mini proyecto de Twitter
Una vez definido el problema, la siguiente etapa consiste en recopilar los datos. La siguiente idea de miniproyecto es trabajar en la recopilación de datos de la web y estructurarlos para usarlos en un modelo de aprendizaje automático. Recopilaremos algunos tweets de la API de twitter rest utilizando el lenguaje de programación R.
En primer lugar, cree una cuenta de Twitter y luego siga las instrucciones del twitteRviñeta del paquete para crear una cuenta de desarrollador de Twitter. Este es un resumen de esas instrucciones:
Ir https://twitter.com/apps/new e inicie sesión.
Después de completar la información básica, vaya a la pestaña "Configuración" y seleccione "Leer, escribir y acceder a mensajes directos".
Asegúrese de hacer clic en el botón Guardar después de hacer esto
En la pestaña "Detalles", tome nota de su clave de consumidor y su secreto de consumidor
En su sesión de R, utilizará la clave API y los valores secretos de la API
Finalmente ejecute el siguiente script. Esto instalará eltwitteR paquete de su repositorio en github.
install.packages(c("devtools", "rjson", "bit64", "httr"))
# Make sure to restart your R session at this point
library(devtools)
install_github("geoffjentry/twitteR")
Estamos interesados en obtener datos donde se incluye la cadena "big mac" y averiguar qué temas se destacan al respecto. Para hacer esto, el primer paso es recopilar los datos de Twitter. A continuación se muestra nuestro script R para recopilar los datos necesarios de Twitter. Este código también está disponible en el archivo bda / part1 / collect_data / collect_data_twitter.R.
rm(list = ls(all = TRUE)); gc() # Clears the global environment
library(twitteR)
Sys.setlocale(category = "LC_ALL", locale = "C")
### Replace the xxx’s with the values you got from the previous instructions
# consumer_key = "xxxxxxxxxxxxxxxxxxxx"
# consumer_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# access_token = "xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# access_token_secret= "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Connect to twitter rest API
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_token_secret)
# Get tweets related to big mac
tweets <- searchTwitter(’big mac’, n = 200, lang = ’en’)
df <- twListToDF(tweets)
# Take a look at the data
head(df)
# Check which device is most used
sources <- sapply(tweets, function(x) x$getStatusSource())
sources <- gsub("</a>", "", sources)
sources <- strsplit(sources, ">")
sources <- sapply(sources, function(x) ifelse(length(x) > 1, x[2], x[1]))
source_table = table(sources)
source_table = source_table[source_table > 1]
freq = source_table[order(source_table, decreasing = T)]
as.data.frame(freq)
# Frequency
# Twitter for iPhone 71
# Twitter for Android 29
# Twitter Web Client 25
# recognia 20