Big-data-analytics-cleansing-data

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

ビッグデータ分析-クレンジングデータ

データが収集されると、通常、さまざまな特性を持つ多様なデータソースが得られます。 最も直接的なステップは、これらのデータソースを同種にし、データ製品の開発を継続することです。 ただし、データの種類によって異なります。 データを均質化することが実際的かどうかを自問する必要があります。

データソースは完全に異なる可能性があり、ソースが均質化されると情報の損失が大きくなる可能性があります。 この場合、代替案を考えることができます。 1つのデータソースで回帰モデルを作成し、もう1つのデータソースで分類モデルを作成できますか? 単に情報を失うのではなく、私たちの利点に基づいて異質性を扱うことは可能ですか? これらの決定を下すことは、分析を面白くやりがいのあるものにします。

レビューの場合、各データソースに言語を設定することができます。 繰り返しますが、我々は2つの選択肢があります-

  • 均質化-さまざまな言語をより多くのデータがある言語に翻訳することを伴います。 翻訳サービスの品質は許容範囲内ですが、APIを使用して大量のデータを翻訳したい場合、コストは非常に高くなります。 このタスクに使用できるソフトウェアツールがありますが、それもコストがかかります。
  • 異化-各言語の解決策を開発することは可能でしょうか? コーパスの言語を検出するのは簡単なので、各言語のレコメンダーを開発できます。 これには、使用可能な言語の量に応じて各リコメンダーを調整するという点でより多くの作業が含まれますが、使用可能な言語がいくつかある場合は間違いなく実行可能なオプションです。

Twitter Miniプロジェクト

このケースでは、まず非構造化データをクリーンアップしてから、データモデリングにトピックを適用するためにデータマトリックスに変換する必要があります。 一般に、Twitterからデータを取得する場合、少なくともデータクレンジングプロセスの最初の段階では、使用することに興味のない文字がいくつかあります。

たとえば、ツイートを取得すると、「<ed> <U + 00A0> <U + 00BD> <ed> <U + 00B8> <U + 008B>」という奇妙な文字が表示されます。 これらはおそらく顔文字なので、データを消去するために、次のスクリプトを使用してそれらを削除します。 このコードは、bda/part1/collect_data/cleaning_data.Rファイルでも入手できます。

rm(list = ls(all = TRUE)); gc() # Clears the global environment
source('collect_data_twitter.R')
# Some tweets
head(df$text)

[1] "I’m not a big fan of turkey but baked Mac &
cheese <ed><U+00A0><U+00BD><ed><U+00B8><U+008B>"
[2] "@Jayoh30 Like no special sauce on a big mac. HOW"
### We are interested in the text - Let’s clean it!

# We first convert the encoding of the text from latin1 to ASCII
df$text <- sapply(df$text,function(row) iconv(row, "latin1", "ASCII", sub = ""))

# Create a function to clean tweets
clean.text <- function(tx) {
  tx <- gsub("htt.{1,20}", " ", tx, ignore.case = TRUE)
  tx = gsub("[^#[:^punct:]]|@|RT", " ", tx, perl = TRUE, ignore.case = TRUE)
  tx = gsub("[[:digit:]]", " ", tx, ignore.case = TRUE)
  tx = gsub(" {1,}", " ", tx, ignore.case = TRUE)
  tx = gsub("^\\s+|\\s+$", " ", tx, ignore.case = TRUE)
  return(tx)
}

clean_tweets <- lapply(df$text, clean.text)

# Cleaned tweets
head(clean_tweets)
[1] " WeNeedFeminlsm MAC s new make up line features men woc and big girls "
[1] " TravelsPhoto What Happens To Your Body One Hour After A Big Mac "

データクレンジングミニプロジェクトの最終ステップは、マトリックスに変換してアルゴリズムを適用できるテキストをクリーンアップすることです。 clean_tweets ベクトルに保存されたテキストから、それを単語の袋マトリックスに簡単に変換し、教師なし学習アルゴリズムを適用できます。