Big Data Analytics - Collecte de données

La collecte de données joue le rôle le plus important dans le cycle du Big Data. Internet fournit des sources de données presque illimitées sur une variété de sujets. L'importance de ce domaine dépend du type d'entreprise, mais les industries traditionnelles peuvent acquérir une source diversifiée de données externes et les combiner avec leurs données transactionnelles.

Par exemple, supposons que nous souhaitons créer un système qui recommande des restaurants. La première étape serait de collecter des données, dans ce cas, des avis de restaurants sur différents sites Web et de les stocker dans une base de données. Comme nous nous intéressons au texte brut et que nous l'utiliserions pour l'analyse, il n'est pas si pertinent de stocker les données pour le développement du modèle. Cela peut sembler contradictoire avec les principales technologies du Big Data, mais pour implémenter une application Big Data, nous devons simplement la faire fonctionner en temps réel.

Mini projet Twitter

Une fois le problème défini, l'étape suivante consiste à collecter les données. L'idée de mini-projet suivante consiste à travailler sur la collecte de données à partir du Web et à les structurer pour les utiliser dans un modèle d'apprentissage automatique. Nous collecterons quelques tweets de l'API twitter rest en utilisant le langage de programmation R.

Commencez par créer un compte Twitter, puis suivez les instructions du twitteRvignette de package pour créer un compte de développeur Twitter. Ceci est un résumé de ces instructions -

  • Aller à https://twitter.com/apps/new et connectez-vous.

  • Après avoir rempli les informations de base, allez dans l'onglet "Paramètres" et sélectionnez "Lire, écrire et accéder aux messages directs".

  • Assurez-vous de cliquer sur le bouton Enregistrer après avoir fait cela

  • Dans l'onglet "Détails", notez votre clé client et votre secret client

  • Dans votre session R, vous utiliserez la clé API et les valeurs secrètes de l'API

  • Enfin, exécutez le script suivant. Cela installera letwitteR package de son dépôt sur github.

install.packages(c("devtools", "rjson", "bit64", "httr"))  

# Make sure to restart your R session at this point 
library(devtools) 
install_github("geoffjentry/twitteR")

Nous souhaitons obtenir des données dans lesquelles la chaîne «big mac» est incluse et découvrir quels sujets se démarquent à ce sujet. Pour ce faire, la première étape consiste à collecter les données de Twitter. Vous trouverez ci-dessous notre script R pour collecter les données requises de Twitter. Ce code est également disponible dans le fichier 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