Büyük Veri Analitiği - Veri Toplama

Veri toplama, Büyük Veri döngüsünde en önemli rolü oynar. İnternet, çeşitli konular için neredeyse sınırsız veri kaynağı sağlar. Bu alanın önemi, işin türüne bağlıdır, ancak geleneksel endüstriler çeşitli dış veri kaynakları elde edebilir ve bunları işlem verileriyle birleştirebilir.

Örneğin, restoran öneren bir sistem kurmak istediğimizi varsayalım. İlk adım, bu durumda, farklı web sitelerinden restoran incelemeleri hakkında veri toplamak ve bunları bir veritabanında saklamak olacaktır. Ham metinle ilgilendiğimizden ve bunu analitik için kullanacağımızdan, modeli geliştirmek için verilerin nerede saklanacağı o kadar da alakalı değildir. Bu, büyük veri ana teknolojileriyle çelişkili gelebilir, ancak bir büyük veri uygulamasını hayata geçirmek için, onu gerçek zamanlı olarak çalıştırmamız gerekiyor.

Twitter Mini Projesi

Sorun tanımlandıktan sonra, sonraki aşama verileri toplamaktır. Aşağıdaki mini proje fikri, web'den veri toplama ve bir makine öğrenimi modelinde kullanılmak üzere yapılandırmaya çalışmaktır. R programlama dilini kullanarak twitter dinlenme API'sinden bazı tweet'leri toplayacağız.

Öncelikle bir twitter hesabı oluşturun ve ardından sayfadaki talimatları izleyin. twitteRtwitter geliştirici hesabı oluşturmak için paket vinyet . Bu, bu talimatların bir özetidir -

  • Git https://twitter.com/apps/new ve oturum açın.

  • Temel bilgileri doldurduktan sonra, "Ayarlar" sekmesine gidin ve "Doğrudan mesajları Oku, Yaz ve Eriş" seçeneğini seçin.

  • Bunu yaptıktan sonra kaydet düğmesine tıkladığınızdan emin olun.

  • "Ayrıntılar" sekmesinde, tüketici anahtarınızı ve tüketici sırrınızı not alın

  • R oturumunuzda, API anahtarını ve API gizli değerlerini kullanacaksınız

  • Son olarak aşağıdaki komut dosyasını çalıştırın. Bu,twitteR paketi github üzerindeki deposundan.

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

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

"Big Mac" dizesinin dahil olduğu verileri almak ve bu konuda hangi konuların öne çıktığını bulmakla ilgileniyoruz. Bunu yapmak için ilk adım, verileri twitter'dan toplamaktır. Twitter'dan gerekli verileri toplamak için R komut dosyamız aşağıdadır. Bu kod ayrıca bda / part1 / Collect_data / Collect_data_twitter.R dosyasında da mevcuttur.

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