データ収集

データ収集方法の進化

データ分析を行うためには、まずデータを集める必要がある。

かつては対面でアンケートを取ったり、重さをはかりで調べたり、大きさをものさしで計ったり、計数器を手でカチカチさせてカウントしたりしてデータをとっていた。
そして、結果をコンピュータに打ち込んで解析した。

今でもそういう方法は、引き続き行われているが、コンピュータの発達で人間が手間暇をかけずに直接電子データを得ることができるようになった。
例えば、コンビニなどのバーコードは会計をしているだけでなく、いつどんな商品が売れたかを記録し、そのデータは本社に送られ、在庫管理や経営分析に使われている。
テーマパークなどの回転ゲートは、チケットを持たない人を通さないというだけでなく、何時から何時の間に何人の人が入り、何人の人が出たかをカウントして、やはり経営分析などに使われている。
アンケートなども、最近ではWebで実施され、直接電子データ化されることが多い。

昔ながらの方法も重要だが、この講義はコンピュータの講義なので最初から電子データになっているデータについて詳しく説明する。

ネット上でデータを公表しているサイト

データは、自分で計測したり、調査したりせずに、ネットに公開されている有用なデータを利用することもできる。
ただし以下の解説には、これまで説明してない言葉も含まれるので、今はわからなくてよい。
この後のCSV形式の話は重要なので、このセクションはさらっと読んで、CSV形式の話に進もう。

政府系の統計資料
誰でも利用できるオープンデータを公開している公的なサイトがある。
代表的なものとして、日本政府の公共データのポータルサイトe-GOV データポータルがある。

同様のものとして、アメリカの公共データのポータルサイトDATA.GOV
イギリスの公共データのポータルサイトdata.gov.uk
など、多くの政府が公共データをオープンにしている。

このような政府系のオープンデータのカタログとしては、Wikipwdia のオープンデータ の政府におけるオープンデータや、
DataPotals.orgなどがある。

これらは、基本的にはファイルの形になっており、自分のPCにダウンロードして使う
リクエストを送ると対応したデータを送り返してくるサイト
例えば、 Yahoo デベロッパーネットワーク の地図情報APIはリクエストを送ると、JSON形式、あるいはXML形式でその近辺の情報を送り返してくれる。
JSONは、JavaScript Object Notation の頭文字で、JavaScript というプログラミング言語と相性がいい形式である。
XMLは、eXtensible Markup Language の頭文字である。
ここでは詳しい説明は省略するが、JSON形式、XML形式 どちらもそのままでは使いにくい。
JSONの場合は、リクエストに対して帰ってきたデータをJavaScriptで整形して、人が見やすい形にする。 XMLの場合も、帰ってきたデータをまずXMLパーサと呼ばれるソフトウェアを通して必要な情報を抜き出し、さらにプログラム処理で人が見やすい形にする。
このように、どちらの形式でもコンピュータプロフラムが必須であるが、このような情報提供のサイトも存在する。
機械学習用のデータ
また機械学習を行う場合、例えばコンピュータに多数のデータを見せて教育させる必要があるが、学習に使う大量のデータを集めるのは容易ではない。
最近では、そういう機械学習用のデータを公開しているサイトもある。

例えば、手書きの数字のデータベースとして有名なものとしては THE MNIST DATABASE of Handwritten digits がある。
--> (MNIST は Modified National Institute of Standards and Technology database の頭の文字)
このデータを使って、手書きの数字の認識システムを開発することができる。

画像に写っているものが何なのかを当てるシステム開発用の、多数の写真データを提供してくれるのがCIFAR-10 databaseである。
5万枚の32x32ピクセルのカラーの画像データを提供してくれる。

このように、ネットワークを利用してデータを用意することもできる。

CSVデータ

最近は、いろいろな測定機器がデータファイルを直接作ることができるようになった。
しかし、測定機器のメーカーはMicrosoft社とは関係ないこのが普通である。
そのため、自動計測されたデータはExcelの形式ではなく、CSV形式という形式でデータが作られるのが普通である。

CSVはComma Separated Valuesの頭文字で、「カンマで区切られた数値」という意味である。
CSV形式は、データがカンマで区切られた形式である。

カンマ
ピリオド
ドット
小数点


CSV形式のデータファイルを作ってExcelで読み込んでみよう
メモ帳を開き(すべてのプログラム→アクセサリ→メモ帳) 数字をカンマで区切って、適当なデータファイルを作ろう。
(Macの人は finder → アプリケーション → テキストエディタ で作成して、ファーマット→標準テキストにする をした後に保存)
カンマと小数点の区別が付きやすいように、以下のメモ帳の画面はフォントサイズを大きくしてある。

できたら、適当なところに保存する。ファイル名はなんでもよいが、拡張子は.csvとする。 (このメモ帳はまだ使うので、閉じずに残しておこう。)

Excelを開き、ファイル → 開く → 参照 で今作ったCSVファイルを探す。

  

保存した場所に見つからないはずである。

それは、CSV形式はExcelのファイルではないからである。
右下のところが すべてのExcelファイル になっているからである。
右下を すべてのファイル にすれば見つかるはずである。

CSVファイルが読み込まれ、Excelの表に組み込まれる。


カンマ区切りでないファイルをExcelで読み込んでみよう

データによっては、カンマを別の意味で使っているので、区切りにカンマを使うと区切りのカンマと別の意味で使っているカンマが混乱してしまう可能性がある。
そこで、区切りはカンマではなく別の記号を使いたい場合がある。
例えば、データがスペースで区切ってある場合はExcelで読めるのだろうか?

まず、スペース区切りは、拡張子は.csvではなく、.ssvである(Space Separated Values)が、あまり普及してない。
.ssvでもいいが、.dat なども使われる。
メモ帳に戻って、カンマを半角スペースに打ち直す。

拡張子を .ssv で保存する

これをExcelで開いて見よう。

  

今回は、ウイザード というものが表示される。
最初の画面はこのまま 次へ をクリック。

2枚目で、区切りがスペースであることをExcelに教える。
スペースに チェックを入れて 次へ

3枚目は完了

これで読み込める。

データの抽出

機械が電子データを作ってくれるのは便利でいいが、機械は疲れを知らないため、一般に機械が取ったデータは非常に大きい場合がある。
またネットで公開されているデータも、自分が欲しいデータに合わせて、関係ないデータも多数含まれていることがある。
そのため、データを用意したあと、必要なデータだけを取り出して表を小さくするという作業を行う必要がある。
このように大規模なデータから、必要なデータだけを取り出すのがデータの抽出である。

データの抽出の練習をするために、このデータ(food.txt)をダウンロードしよう。
普通にクリックするとファイルが開いてしまうの、右クリックメニューで 「名前を付けてリンクを保存」を使う。


データを開く
このファイルはカンマ区切りであるが、拡張子が.txtになっているのでウイザードが開く。
ウイザードで、区切りがカンマであることをExcelに教えれば表に入るはずである。

  

データの抽出
データを抽出するために、データの一番上の部分をマウスでドラッグして、データタブのフィルタを押そう。

そうすると、ボタンが出現する。

このボタンで条件に合うデータが抽出できる。
例えば、分類のボタンを押し、一番上の「すべて選択」をクリックしてマークを消したのちに「飲み物」にマークすると

   

飲み物だけが抽出される。

このような技で、条件にあう小さい表ができる。
逆に機械に記録させる場合、後でデータの抽出ができるように、どういう情報を記録させると抽出しやすいのかを考えて記録させるようにしよう。

次へ;データの分析と可視化