Big Data Analytics - Datenerfassung
Die Datenerfassung spielt die wichtigste Rolle im Big Data-Zyklus. Das Internet bietet nahezu unbegrenzte Datenquellen für eine Vielzahl von Themen. Die Bedeutung dieses Bereichs hängt von der Art des Geschäfts ab. Traditionelle Branchen können jedoch eine vielfältige Quelle externer Daten erfassen und diese mit ihren Transaktionsdaten kombinieren.
Nehmen wir zum Beispiel an, wir möchten ein System erstellen, das Restaurants empfiehlt. Der erste Schritt wäre, Daten, in diesem Fall Bewertungen von Restaurants von verschiedenen Websites, zu sammeln und in einer Datenbank zu speichern. Da wir an Rohtext interessiert sind und diesen für die Analyse verwenden würden, ist es nicht so relevant, wo die Daten für die Entwicklung des Modells gespeichert würden. Dies mag im Widerspruch zu den Big-Data-Haupttechnologien klingen, aber um eine Big-Data-Anwendung zu implementieren, müssen sie lediglich in Echtzeit funktionieren.
Twitter Mini-Projekt
Sobald das Problem definiert ist, besteht die folgende Phase darin, die Daten zu sammeln. Die folgende Idee für ein Miniprojekt besteht darin, Daten aus dem Web zu sammeln und zu strukturieren, um sie in einem Modell für maschinelles Lernen zu verwenden. Wir werden einige Tweets von der Twitter Rest API mit der Programmiersprache R sammeln.
Erstellen Sie zunächst ein Twitter-Konto und folgen Sie dann den Anweisungen in der twitteRverpacken Vignette ein Twitter - Entwickler - Konto zu erstellen. Dies ist eine Zusammenfassung dieser Anweisungen -
Gehe zu https://twitter.com/apps/new und einloggen.
Gehen Sie nach dem Ausfüllen der Basisinformationen zur Registerkarte "Einstellungen" und wählen Sie "Direktnachrichten lesen, schreiben und darauf zugreifen".
Stellen Sie sicher, dass Sie danach auf die Schaltfläche Speichern klicken
Notieren Sie sich auf der Registerkarte "Details" Ihren Verbraucherschlüssel und Ihr Verbrauchergeheimnis
In Ihrer R-Sitzung verwenden Sie den API-Schlüssel und die geheimen API-Werte
Führen Sie abschließend das folgende Skript aus. Dadurch wird das installierttwitteR Paket aus seinem Repository auf Github.
install.packages(c("devtools", "rjson", "bit64", "httr"))
# Make sure to restart your R session at this point
library(devtools)
install_github("geoffjentry/twitteR")
Wir sind daran interessiert, Daten zu erhalten, in denen die Zeichenfolge "Big Mac" enthalten ist, und herauszufinden, welche Themen diesbezüglich auffallen. Dazu sammeln Sie zunächst die Daten von Twitter. Unten finden Sie unser R-Skript zum Sammeln der erforderlichen Daten von Twitter. Dieser Code ist auch in der Datei bda / part1 / collect_data / collect_data_twitter.R verfügbar.
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