ダッシュボードでタイタニック・データセットを分析しよう

# はじめに
Watson Studioをお使いの皆様、「プロジェクトに追加」で出てくる下記のメニューで「**ダッシュボード**」とは何だろうと思ったことはないでしょうか？

![studio-menu1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/87626d6e-a7e4-06a2-53bf-799e345cc948.png)


これは、Watson Studioの1機能である、**ダッシュボード**のメニューです。
IBMは元々CongnosというBIツールを製品として持っていますが、そのクラウド版の簡易機能です。
SPSS Modeler Flowなど他のWatson Studio機能と同様に、プログラミングなしに、データの可視化が可能なツールです。例えば、簡単な操作で下のような「タイタニック・データセット」の分析が可能です。

![スクリーンショット 2020-11-16 20.11.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/2a9b3450-94ff-1d35-4271-cb2e2bec75a6.png)

そのさわりの部分を当記事で紹介したいと思います。
ちなみに、このツールもWatson Studioの他に機能同様、クレジットカード登録なしのライトアカウントで試すことが可能です。さらに、この機能もIBMのOpenShiftを前提とするソフトCP4D(Cloud Pak for Data)でも利用可能です。ですので、その機能をクラウド上で体験できることになります。

# 環境準備

## 前提 (Watson Studioのプロジェクト作成まで)
前提として、Watson Studioのプロジェクトまでは作成済みであることとします。
この前提を満たしていない方は、次の記事を参照して下さい。

[無料でなんでも試せる! Watson Studioセットアップガイド](https://qiita.com/makaishi2/items/b666f847a98c2e42dfbb)

## Cognos Dashboard Embedded インスタンス作成
前提を満たしている場合の、最初のステップは、**Cognos Dashboard Embedded**のインスタンス作成です。
まず、

https://cloud.ibm.com/

のリンクからログインして、下記のIBM Cloud ダッシュボードの画面を表示させます。そして、画面右上の「**リソースの作成**」ボタンをクリックします。

![スクリーンショット 2020-11-06 19.48.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/f1b71a00-ac2a-f238-19d3-0968ea1843d7.png)

①　検索窓に**Cognos**と入力し、Enterを押して下さい。
②　下のように、**Cognos Dashboard Embedded**のタイルが表示されるので、そこをクリックします。

![スクリーンショット 2020-11-12 17.04.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/58d15eec-190d-aa56-89c4-87c540c6037e.png)

下の画面になります。すべてデフォルトのままで、画面右下の「**作成**」ボタンをクリックします。

![スクリーンショット 2020-11-12 17.07.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/037d2d23-ef61-a0f2-5ab6-826f0d3ca133.png)

しばらく待っていると、下の画面になります。
画面左上の「**リソース・リスト**」のリンクをクリックして下さい。

![スクリーンショット 2020-11-12 17.10.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/6bc914f5-21d7-f232-59cb-9226d3787269.png)

すると、下のようにリソース・リストに**IBM Cognos Dashboard Embedded**の行が増えているはずです。

![スクリーンショット 2020-11-12 17.11.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/105404d5-705e-41fe-c8c2-59a1e32f031f.png)

これでインスタンス作成は完了で、次の手順に進みます。

## Watson StudioのプロジェクトとCognos Dashboard Embeddedサービスの関連付け
次に、先ほど作ったサービスと、Watson Studioのプロジェクトの関連付けをします。

次のリンクからWatson Studioの初期画面を表示させます。

https://dataplatform.cloud.ibm.com

下の画面になったら、自分のプロジェクトを選択し、プロジェクト管理画面を表示させます。

![スクリーンショット 2020-11-06 20.25.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/6919c651-4f07-59e7-8bf1-6fc90049590e.png)

下のプロジェクト管理の画面になったら、画面上部一番左の「**設定**」タブをクリックします。

![スクリーンショット 2020-11-06 20.28.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/0dfe9b37-f7a7-a529-f656-06827ffb7d3a.png)

設定タブで画面を下にスクロールさせて、下の画面の「**サービスの追加**」をクリックします。

![スクリーンショット 2020-11-06 20.28.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/80d6f298-6d41-60ad-64ce-4aaf482d214e.png)

ドロップダウンメニューから「**Dashboard**」を選択します。

![スクリーンショット 2020-11-12 17.19.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/81ddc15d-d46c-c75f-60de-b9517be10c9f.png)


「**Associate service**」の画面になったら、
①チェックボックスにチェックを入れ、
②画面右の「**Associate service**」のリンクをクリックします。

![スクリーンショット 2020-11-12 17.21.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/20db5ad1-63f3-f43d-dec9-96b74e519db2.png)


下のように
①**Status**が**Associated**になっていれば関連付けに成功しています。
②画面右上の閉じるアイコンで設定画面を閉じます。

![スクリーンショット 2020-11-12 17.21.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/80e631bd-3e4f-6ede-2c80-39229f19c979.png)


元の画面に戻りますが、**Cognos Dashboard Embedded**がサービスとして増えているはずです。

![スクリーンショット 2020-11-12 17.21.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/7b203d9d-ffbf-ce53-2293-023c86996f0f.png)


お疲れ様でした。これで、実習に必要な環境の準備はすべて終わりました。
いよいよ、当初の目的であるDashboardの作成に入ります。

# タイタニック・データセットの分析
それでは、いよいよタイタニック・データセットの分析を始めます。

## データの準備
まず、下記リンク先のCSVをダウンロードしておいて下さい。

https://raw.githubusercontent.com/makaishi2/sample-data/master/data/titanic.csv

## データのアップロード
次にこのデータをWatson Studio上にアップロードします。

Watson Studioのプロジェクト管理の画面から「プロジェクトに追加」「データ」を選択します。

![studio-menu2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/53331c95-0d60-08b7-5612-0a0129816f2c.png)

下の画面になったら、赤枠の領域に先ほど準備した``titanic.csv``ドラッグアンドドロップでアップロードして下さい。

![スクリーンショット 2020-11-12 17.47.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/7abf0d77-d7ec-1c81-38c6-d0778d592fe2.png)

アップロードが終わると、下の画面のように、「データ資産」に``titanic.csv``のファイルが追加されます。ファイル名の箇所がリンクになっているので、そこをクリックして下さい。

![スクリーンショット 2020-11-12 17.50.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/7beed8cf-b74e-8abb-3baf-54f6059f6f1d.png)

この操作により、下のようなCSVのプレビュー画面(Refineryの機能)になります。

![スクリーンショット 2020-11-12 17.51.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/69d4f481-561e-6bf0-dccc-6e17c3e6cc8a.png)

ここで、今回の分析対象となる「**タイタニック・データセット**」について簡単に紹介します。
このデータセットは、就航後すぐに沈没した事件で有名な客船タイタニック号の乗客名簿です。
**性別**(sex)、**船室**(class)など、個々の乗客の属性と、その乗客が沈没後に生き残ったかどうかを示すフラグである**生存可否**(alive)が属性として提供されています。
ここから先のダッシュボードの実習では、この3つの項目間の関係を視覚的に調べていくことにします。

データの確認が済んだら、画面上部のプロジェクト名のリンクをクリックして、元のプロジェクト管理画面に戻します。

![スクリーンショット 2020-11-12 18.28.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/9a70588e-e2f6-9ec9-be9c-ef6089efcee2.png)

## ダッシュボードの作成
プロジェクト管理画面から、「プロジェクトに追加」->「ダッシュボード」を選択します。

![studio-menu1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/87626d6e-a7e4-06a2-53bf-799e345cc948.png)

下の「New dashboard」の画面になるので、
① nameに「**タイタニック・データセットの分析**」と入力
② **IBM Cognos Dashboard Embedded service**のドロップダウンに、先ほど関連付けたCognos dashboardの選択
③　右下の「**Create**」ボタンをクリック

します。

![スクリーンショット 2020-11-12 18.41.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/2cc82330-dc4a-ccc6-d07e-472f87cb09b0.png)

下のような画面が表示されるので、右下のOKボタンをクリックします。

![スクリーンショット 2020-11-12 19.51.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/0b6efafb-ba85-5a28-ed8d-bee0d2becfb8.png)

下の画面になれば、新規ダッシュボードの作成に成功しています。

![スクリーンショット 2020-11-12 19.52.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/616739c2-1452-70ee-c298-08599bc04a69.png)


## データセットの読み込み
次に、先ほどクラウド上にアップロードしたタイタニックデータセットを、ダッシュボード上に読み込みます。

下の画面で
① 画面左上の「0100」と書かれたアイコンをクリックします。
② 「Selected sources」の右側の「+」をクリックします。

![スクリーンショット 2020-11-16 18.56.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/27c37667-24ff-364a-ca9f-bde31300bad4.png)

下のようなデータソース選択の画面になるので
① Data assetsを選択
② 先ほどアップロードした titanic.csvが表示されるはずなので、それをクリック
③　画面右下の「Select」をクリック

![スクリーンショット 2020-11-16 18.56.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/22fa2dac-61ee-2f43-2bd9-d0229939ee3a.png)

「Navigation paths」の直下に、titanic.csvが表示されるはずなので、それをクリックします。
すると、下の画面のように、項目名の一覧が表示されるはずです。
これで、データセットの読み込みは完了となります。

![スクリーンショット 2020-11-16 18.56.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/711f5a29-1798-c821-87ad-4b3afb334d8e.png)

## グラフの作成
いよいよグラフの作成を行います。
グラフは、生存可否(alive)、性別(sex)、客室(class)の3つを書いてみることにします。

### 生存可否グラフの作成
最初に生存可否(alive)を円グラフ(パイチャート)で描いてみましょう。
そこで
①　メニューからグラフアイコンをクリックします
②　円グラフ(Pie)のアイコンを、編集エリアまでdrag and dropします。

![スクリーンショット 2020-11-16 19.24.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/39613c7d-ff4e-aefc-3e39-2ae234db756a.png)

すると、下のような画面になるはずです。

![スクリーンショット 2020-11-16 19.27.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/a2114d15-f421-73cf-8f9a-bcc71fd10bda.png)

下の画面で
① 再び「0100」のアイコンを選択します。
② 下から2つめの「alive」の項目を画面右側「Segments」の下にdrag and dropします。
③　同じく「alive」項目を、今度は「Size」の下にdrag and dropします。

![スクリーンショット 2020-11-16 19.29.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/c82ebd22-cd02-0182-a691-ef3a0f635200.png)

たったこれだけの操作で、生存可否を示すaliveの項目の円グラフができたことがわかります。

### 性別グラフ
今度は、性別(sex)を棒グラフで表示してみましょう。そこで
①　先ほど同様、グラフアイコンをクリック
②　出てきたリストから今度は「Column」のアイコンを編集エリアにdrag and dropします

![スクリーンショット 2020-11-16 19.39.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/e2ef38b0-b975-3400-831a-2499c3b3d9e1.png)

サイズを微調整して、下の画面のような状態にして下さい。

![スクリーンショット 2020-11-16 19.40.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/8ce87ab2-dabb-fbe1-4443-9b9717a6817a.png)

① 先ほど同様、メニューから「0100」を選択します。
② 「sex」の項目を、画面右側# Lengthの下にdrag and dropします
③ 同じく「sex」の項目を、画面右側Colorの下にdrag and dropします。

![スクリーンショット 2020-11-16 19.41.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/cff64235-8149-02b5-bd77-6376ba727a34.png)


これで、性別の棒グラフが追加されたはずです。

### 船室グラフの追加
最後に船室(class)のグラフを追加してみましょう。今度はPacked Bubbleグラフを使ってみます。

① いつものようにグラフアイコンをクリックします
② 今度は「Packed bubble」と書かれたアイコンを編集領域にdrag and dropします。

![スクリーンショット 2020-11-16 19.51.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/4c0de324-b0ae-f267-54cf-3ebc3553ea99.png)

下の画面のように大きさを調整します。

![スクリーンショット 2020-11-16 19.51.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/8e92b11e-536d-9160-fffc-57dd33728851.png)

①　「0100」アイコンをクリック。
②③④ 画面のそれぞれの場所に、classをdarg and dropします。
⑤　画面上部の保存アイコンをクリックし、できたグラフを保存します。
⑥　いったん編集画面を抜けて、プロジェクト管理画面に戻ります。

![スクリーンショット 2020-11-16 19.52.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/b278e4ae-a4aa-9bb3-4a8e-00f9a39d540c.png)

# 分析の実施
プロジェクト管理画面に戻ったら、再度、「タイタニック・データセット分析」のダッシュボードを開いて下さい。
下記のようなグラフが表示されたら、グラフ作成に成功しています。

![スクリーンショット 2020-11-16 19.54.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/2637ceb1-5810-2433-44a8-b81eb46b6365.png)

しかし、ここまでの結果を見るだけでは「こんなことExcelで普通にできている。いったい何がうれしいの？」と思うでしょう。実はここから先が、Dashboard機能の本領を発揮できる点になるのです。

## 分析の実施1 (性別と生存可否の関係)

最初にこの画面で左下の「famale」の黄色い長方形の領域をクリックして下さい。
こうするとで、sex=famaleの絞り込みが行われ、他の2つのグラフが連動して変化します。
下の図のようになるはずです。

![スクリーンショット 2020-11-16 20.10.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/160d6f17-fa54-d2e7-3d91-e4ec7629009d.png)

先ほどまで半数以下あった生存率が3/4程度まで上がったのがわかるかと思います。さすが、イギリスの豪華客船です。命がかかわる状況で**Ladies First**が徹底されていたことがわかります。
では、maleの長方形をクリックするとどうなるでしょうか。結果は下のようになります。

![スクリーンショット 2020-11-16 20.10.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/5f7f4c38-5e3e-6af9-7377-4fabeb8b7730.png)


当たり前ですが、生存率は極めて低くなります。次にこの状態で客室による追加絞り込みを行ってみます。

## 分析の実施2 (男性の場合の客室による生存可否)
sexでmaleが選ばれた状態のまま、右側のバブルグラフで、「First」をクリックしてみて下さい。結果は下の図のようになります。

![スクリーンショット 2020-11-16 20.11.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/2a9b3450-94ff-1d35-4271-cb2e2bec75a6.png)

先ほどの男性全体の時と比べると生存率が随分上がりました。男性の中では「お金持ち優先」だったことがわかります。
念のため「Second」「Third」で絞り込んだ結果がこちら。等室のランクが下になる程生存率が落ちています。確かに映画「タイタニック」のドラマは現実に起きていたことがわかりますね。

![スクリーンショット 2020-11-16 20.11.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/c93d8cf7-f2fc-50db-32d3-6d7e39421ab5.png)

![スクリーンショット 2020-11-16 20.11.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/800dbc6f-2206-15f9-5949-578764912eeb.png)

そして、このような分析がプログラミング一切なしにできるのが、Dashboard機能の特徴ということになります。
この実習でやりかたはわかったかと思います。皆さんも是非、自分のデータを使っていろいろな分析を試してみて下さい。