Big-data-analytics-data-collection

提供:Dev Guides
移動先:案内検索

ビッグデータ分析-データ収集

データ収集は、ビッグデータサイクルで最も重要な役割を果たします。 インターネットは、さまざまなトピックのほぼ無制限のデータソースを提供します。 この分野の重要性はビジネスの種類によって異なりますが、従来の業界では外部データの多様なソースを取得し、それらをトランザクションデータと組み合わせることができます。

たとえば、レストランを推奨するシステムを構築したいとします。 最初のステップは、さまざまなWebサイトからレストランのレビュー(この場合はレビュー)を収集し、データベースに保存することです。 生のテキストに興味があり、それを分析に使用するため、モデルを開発するためのデータがどこに保存されるかは関係ありません。 これは、ビッグデータのメインテクノロジーと矛盾するように聞こえるかもしれませんが、ビッグデータアプリケーションを実装するには、リアルタイムで動作させる必要があります。

Twitter Miniプロジェクト

問題が定義されたら、次の段階はデータを収集することです。 次のミニプロジェクトのアイデアは、Webからデータを収集し、それを構造化して機械学習モデルで使用できるようにすることです。 Rプログラミング言語を使用して、twitter rest APIからいくつかのツイートを収集します。

まず、Twitterアカウントを作成してから、 twitteR パッケージhttp://geoffjentry.hexdump.org/twitteR.pdf[vignette]の指示に従ってtwitter開発者アカウントを作成します。 これはそれらの指示の要約です-

  • https://twitter.com/apps/newにアクセスしてログインします。
  • 基本情報を入力したら、[設定]タブに移動して[ダイレクトメッセージの読み取り、書き込み、アクセス]を選択します。
  • これを行った後、保存ボタンをクリックしてください
  • [詳細]タブで、コンシューマキーとコンシューマシークレットをメモします
  • Rセッションでは、APIキーとAPIシークレット値を使用します
  • 最後に、次のスクリプトを実行します。 これにより、githubのリポジトリから twitteR パッケージがインストールされます。
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"が含まれるデータを取得し、この点で際立っているトピックを見つけることに興味があります。 これを行うための最初のステップは、twitterからデータを収集することです。 以下は、twitterから必要なデータを収集するRスクリプトです。 このコードは、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