#背景
前回投稿の[同じデータ分析をkaggle notebook(python)とPowerBIで同時にやってみた①]
(https://qiita.com/khigashimoto/items/80f0858b59379d461d97)と同じです。
前回は下記環境①を試用しましたが、今回は環境②を試してみます。
- 環境① Python + Numpy + Pandas + αを用いたデータ分析
- 環境② BIツール(Business Intelligence tools)によるデータ分析
#システム構成
###共通環境
使用PC :Surface LTE Core i5-7300U、メモリ8GB
使用PC OS:Microsoft社製 Windows10 Pro 64bit
使用ブラウザ: Microsoft社製 Edge
###環境② "BIツールによるデータ分析" 動作環境
・使用環境:Microsoft社製 Power BI Desktop Ver 2.84.802.0 64-bit
Microsoft Storeより、PowerBI Desktopを入手できます。今回の作業を含め大部分の機能が無償で利用出来ます。
#やったこと(サマリ)
前回同様、下記Udemyのデータサイエンスコースの一部を拝借します。
【世界で18万人が受講】実践Pythonデータサイエンス
データ分析の第一歩として有名な「タイタニック号沈没」に関わる下記分析を、今回はBIツールにて行ってみます。
・タイタニック号の乗客はどの様な人達だったのか?(性別・年齢など)
・上記に大別される特性やその複合関係と、生存率との因果関係
#やったこと(詳細) *BIツール(PowerBI) 編
1.データを、ローカル(自PC)に取得する
kaggleよりタイタニック沈没時の顧客データをCSVデータとして取得します。
前回記事と同様となるため割愛しますが、実際の顧客データをエクセルで開くとこんな感じになります。
2.ローカルデータを環境上に取り込み、サマリを表示する
PowerBI Desktopを起動し、退避したCSVファイルをインポートします。
・起動後のメイン画面より、"データを取得アイコン”⇒”テキスト/CSV”を選択
・メイン画面に戻っても何も表示されないので、”データ画面アイコン”を押す
PowerBIデスクトップはGUIベースのアプリケーションのため、(当然ですが…)Python等のCUIベースの環境と違い画面自体にデータの状態がすぐに俯瞰できます。
3.男女の比率を確認する
・”レポート画面アイコン”を押して、レポート画面に行く
・”集合棒グラフを使ってみます。当該アイコンを押すと、左上の画面にグラフが表示されます。
・画面右のSexという項目を、中央の軸と値にドラッグ&ドロップ。
こんな感じで、エクセルの様な使い勝手で、グラフィカルに作業を進められるのは良いですね。
また余談ですが、この作業を行う中ちょっともっさり感じることがありました、タスクマネージャーにて確認すると以下。デスクトップアプリになるので、Win10PCであればメモリ16GB程度はあった方が快適かなーと感じました。
4.客室の等級ごとに男女の比率を確認する
Pclassという項目が客室の等級を示します。この辺りもPowerBIでも簡単に同様のことが出来ました。
・同じく集合棒グラフを選択。Sexという項目を”軸”と”値”に、Pclassという項目を”凡例”にドラッグ&ドロップ。
軸を逆転させることも容易に可能です。
・同じく集合棒グラフを選択。Sexという項目を”凡例”と”値”に、Pclassという項目を”軸”にドラッグ&ドロップ。
5.年齢(Age)及び性別(Sex)という項目を用い、"男性"、"女性"、"子供(16歳未満)"という項目(Person)を作成
まずはPerson列を製作します。と意気込んでみたのですが、現時点に於いて上手く列生成が出来ておりません…
列の挿入には、2種類の方式があると考えております。
・Queryエディター
元データは変更せずに、分析目的に応じて元データ加工するための専用機能です。
只、下の通り本機能よりカスタム列を追加しようと記載しましたが、結果はエラーとなります。
・純粋な列追加
それならばと、次はデータ画面にて直接列を追加しようと下記記載をしましたが、こちらも残念ながらエラーとなります。
うーん。。。
現時点に於いては、ここで一旦の検証を終えます。。
その他、PowerBIを使って一連の解析トライアルをした結果を下記に添付しておきます。このように結果を一覧し、並べて俯瞰する事が出来るのはPowerBIの良い点かなと感じます。
#まとめ(所感)
上記作業を行いながら感じた、PowerBI Desktopにおける私の感想は下記です。
<メリット>
・表示方法がリッチ(綺麗)
・GUIをベースとしたアプリケーションのため、プログラムを書かない人でも気軽に使用できる。
・複数の結果を、並べて俯瞰出来る。
<デメリット>
・欠損値の処理やデータの生成等の処理については、込み入った作業を行おうとすると戸惑う事がある。
・PowerBI自体のリファレンスがそこまで多くないため、困った時に気軽にググれない。
・実PCを使ったアプリケーションのため、PCスペックによっては少々もっさり感じる?
CaseA) 前処理や追加データの生成など、込み入った分析を行うには、リファレンスも多く細かいフローも組むことが出来るPython。
CaseB) ライトな分析や、Pythonでの分析後の結果を用いた、実作業者への表示機構としてはPowerBI。
という風に、住み分けて使うのが良いかな。
と、現時点に於いては考えます。