この記事はRadiantによるデータ分析入門の一部です。
■データの読み込み
前の記事で、Radiantを起動しましたので、そのまま使っていきます。はじめに、Radiantで分析するためのデータを読み込む方法を紹介します。
なお、デフォルトでは、ggplot2 パッケージに付属するdiamondsデータセットおよび、Rに標準で付属するtitanicデータセットが読み込まれています。
■ワークスペースから読み込む
Rのワークスペースに保存されているデータフレームオブジェクト (変数) を読み込むことができます。なお、コンソールをRadiantがロックするので、読み込めるのはRadiantを起動する前に保存したオブジェクトだけです。
ここまでの話の流れからすると、いちどRadiantを終了し、データフレームを作成して再度Radiantを起動する、という順番で操作することになるでしょうが、やってみましょう。まず、Radiantを終了するには、GUIの上部のメニューから "電源ボタン" (のようなもの) - "Stop" を選択します。すると、GUIがグレーアウトしますので、ブラウザのタブを閉じます。
そして、操作できるようになったRのコンソールで、以下のように入力・実行してみましょう。
> data(iris)
これは、みんな大好き、世界で最も知られた (?) データセットであるirisを読み込む操作です。データは、iris という名前のデータフレームとしてワークスペースに保存されます。
そして、再度Radiantを起動します。コンソールで以下のように入力・実行します。
> radiant()
再び、ブラウザが開き、RadiantのGUIが表示されますので、先ほどの iris データを読み込みます。
データの読み込みは、"Data" メニューの "Manage" タブで行います。Radiant起動時に開かれるので、起動したばかりの場合は、特に操作する必要はありません。何か操作して、画面が変わっている場合は、下図のメニューをクリックし、切り替えます。
"Manage" タブの左側に "Load data of type" という項目があります。ここで、ワークスペース内のオブジェクトやファイルなど、さまざまなデータを読み込みます。下向きの三角 (▼) をクリックし、from global workspace を選択します。
すると、画面が少し変わり、ワークスペース内のオブジェクトが表示されます。先ほど読み込んだ iris オブジェクトが表示されるはずですので、"Load" ボタンを押します。
データが読み込まれ、画面に iris データセットの一部が表示されます。
■ファイルから読み込む
次に、ファイルからデータを直接読み込む方法を紹介します。なお、Radiantは入力ファイルをUTF-8であるとして処理するようなので、日本語を含むファイルでは文字コードをあらかじめ変換する必要などがあるかもしれません (特にWindows環境の場合)。
ここでは、読み込むファイルはなんでもよいのですが、UCI Machine Learning Repositoryで適当に見つけた、Daily Demand Forecasting Orders Data Setを使用します。60行程度の小さなデータです。以下のURLからファイルをダウンロードしてください。
なお、拡張子は .csv ですが、実際にはセミコロン区切りになっているので、Excelなどで開く場合には注意が必要です。
こんなんなっちゃう
ワークスペースからの読み込みと同様、"Load data of type" という項目の下向きの三角 (▼) をクリックし、csv を選択します。すると、区切り文字や見出し行があるかないか、といった設定項目が表示されます。
前述のように、今回読み込むデータはセミコロン区切りなので、"Separator" メニューから "semicolon" を選択します。そして、"Load" ボタンを押すと、ファイル選択ダイアログが開きます。
先ほどダウンロードした Daily_Demand_Forecasting_Orders.csv ファイルを選択し、"Select" ボタンを押すと、Radiantにデータが読み込まれ、一部が表示されます。
なお、"Load data of type" を csv (url) に変えてインターネット上のファイルURLを入力すると、データをダウンロードし、読み込むことができます。
■データの確認
ワークスペースやファイルからデータを読み込んだら、簡単にデータの様子を確認してみましょう。一部は、"Data preview" として"Manage" タブに表示されていますが、"View" タブや "Pivot" タブで、さらに詳しくデータを見ることができます。
なお、ここからは、先ほどワークスペースから読み込んだ iris データを使用します。"Manage" タブ左側の "Datasets" メニューから、iris を選択します。
■フィルタによる絞り込み
データ全件を確認するには、"View" タブに切り替えます。
"View" タブでは、フィルタによるデータの絞り込みやキーワード検索、列の絞り込みなどができます。また、その結果を別のオブジェクトに保存することもできます。
"Datasets" メニューの "Filter data" にチェックを入れると、条件式を指定してフィルタリングできます。
■ピボットテーブルによる集計
次に、"Pivot" タブに切り替えて、ピボットテーブルを作成してみましょう。初期状態では、右側の領域に何も表示されませんが、左側のメニュー項目をさまざまに設定することで、集計表や集計グラフを作成できます。
はじめに、"Categorical variables" の項目で "Species" を選択しましょう[1]。次に、"Numeric variable" の項目では "Sepal.Length" を選択します (実際には、なんでもよいですが)。加えて、下部の "Show plot" にチェックを入れます。
画像は横に連結しています
そして、"Create pivot table" ボタンを押します。すると、irisデータを種別 (Species) にグループ分けし、Sepal.Lengthの値を平均した集計表と棒グラフが出力されます。
ここでは、"Apply function" について変更せず、デフォルトの mean (平均) を適用しましたが、リストからさまざまな集計関数を選択できます。
また、"Show plot" に関連して、"Flip" を選択すると、グラフが横向きになります。"View" タブで作成した集計表、グラフについては、右側のダウンロードアイコンを押すことで、それぞれCSV形式、PNG形式でダウンロードできます。
■探索的データ解析
続いて、"Explore" タブで「探索的データ解析」を行ってみましょう。探索的データ解析とは、とても大雑把に言えば、「複雑なモデリングを行う前に、データをじっくり眺めてみよう」という考え方で、以下のようなアプローチから成り立ちます。
- データの分布を見る
- データの関係を見る
- データを縮約する
- データを層別にする
- データを詳細化する
- データを時系列で見る
(出典: 「データ解析の実務プロセス入門」)
Radiantの "Explore" タブでは、特にデータの縮約、層別化、詳細化を行います。初期状態では、右側の領域に何も表示されませんが、左側のメニュー項目をさまざまに設定することで、縮約、層別化した表を作成できます。
はじめに、左側のメニューのうち、"Numeric values" 項目で数値データである、"Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width" を選択します。マウスでドラッグすると、複数の変数を選択できます。次に、"Group by" 項目で層別化の軸として "Species" を選択します。また、"Apply function (s)" 項目では、デフォルトの集計関数に加え、歪度 (skew) と尖度 (kurtosis) を選択します。
そして、"Create table" ボタンを押すと、品種 (Species) で層別化された各変数の縮約値 (統計量) が出力されます。
"Apply function (s)" では他に、重複を削除した一意な値の数 (n_distinct) や欠損値の数 (n_missing) なども集計できます。また、表の各列にフィルタをかけてデータを絞り込むこともできます。
ここでは、探索的データ解析の詳細については立ち入りませんが、これらの機能を使い、データをさまざまな角度から「観察」することで、全体の特徴やモデリングに関する示唆を得ることができます。
■注
- [1]''iris'' データには他にカテゴリ変数はありませんが、複数の変数を選択すると、クロス集計になります