CP4D / Watson Studioでできること

# はじめに
　「Watson Studioでどんなことができるの」という質問を最近よく受けるので、その説明のため、紹介記事を新たに起こすことにしました。
　元記事は、[「無料でなんでも試せる! Watson Studioセットアップガイド」](https://qiita.com/makaishi2/items/b666f847a98c2e42dfbb)です。IBM Cloudの無料アカウントである**「ライトアカウント」**は無期限で利用可能です。当記事を読んで実際に試してみたくなった場合は、是非こちらのリンクを参考にアカウント登録をしてみてください。
　また、当記事で紹介する「**Watson Studio**」でできることは、ほとんどすべてそのままIBMの**OpenShift**上で動く製品**Cloud Platform for Data (CP4D)**でできることと同等です(厳密にいうとデータカタログ系の機能はCP4Dの方が多い。また各構成要素のバージョンの違いでできるできないが微妙に異なる場合もあります)。こちらの製品に関心ある方も、当記事を参考にしてください。


# 初期画面
　下に、Watson Studioにログインした直後の初期画面例を示しました。このようにモデル開発で必要な機能全体を見渡すことができるようなダッシュボード形式になっています。最近、上で説明したCP4Dとの統合化が進んでいて、初期画面も同じUIに統一されました。この画面から黄色枠で囲んだ「**プロジェクト**」を選択することで、実際の開発作業を行います。

![スクリーンショット 2020-10-14 8.26.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/2253850e-6012-5046-9da2-ae64164aa32c.png)

# 個別機能

## 新しい資産の追加
　プロジェクト管理画面で、画面上部の「プロジェクトに追加」のリンクをクリックすると、どのような資産を追加するか、確認する画面が出てきます。
Watson Studio/CP4D上では本当にいろいろなことができるので「**要するにどんなことができるか**」との質問にシンプルに答えることはできないのですが、このアイコンの一つ一つができることになっているので、それを整理するのが最短コースでの説明になります。

![スクリーンショット 2020-10-14 9.34.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/a38c8ded-5345-88e9-2f02-ba4337f44e05.png)

　具体的なリストは次のとおりです。

![スクリーンショット 2020-10-14 9.34.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/68cb45f3-e21b-58eb-4714-907b065138c1.png)

それぞれ、どのような機能なのか、概要を表の形でまとめました。
また、具体的な利用手順に関しても、それぞれ別記事のリンク集の欄を作りましたので、そちらを参考にしてください。

|Studio上の機能名  |連携先サービス名  |機能概要  |参考リンク|
|---|---|---|---|
|データ|-|CSV、EXCELなどのデータアセット登録||
|接続|-|DBなどへの接続情報登録|[Watson Studioのカタログ機能を試す](https://qiita.com/makaishi2/items/74725d47f94d9c2868d3)|
|接続データ|-|DB上のテーブルやファイルなど接続先のオブジェクト|[Watson Studioのカタログ機能を試す](https://qiita.com/makaishi2/items/74725d47f94d9c2868d3)|
|ダッシュボード  |Cognos Dashboard Embedded  |プログラムレスの可視化ツール  |[ダッシュボードでタイタニック・データセットを分析しよう](https://qiita.com/makaishi2/items/9177a0d7c05a12494f75)|
|AutoAI実験|Machine Learning|AutoAIによるモデル自動生成|[タイタニックデータセットでAutoAIのお手並み拝見](https://qiita.com/makaishi2/items/bdf15291f0eb9c80133a)<br>[AutoAIでお手軽機械学習(その1) 準備編](https://qiita.com/makaishi2/items/d63f0bbac32a975c391e)<br>[AutoAIでお手軽機械学習(その2) モデル構築編](https://qiita.com/makaishi2/items/d6cd449f7a9f7186a833)<br>[AutoAIでお手軽機械学習(その3) Webサービス編](https://qiita.com/makaishi2/items/e5ad4d068bd364fdc056)<br>[AutoAIでお手軽機械学習(その4) Jupyter Notebook編](https://qiita.com/makaishi2/items/0c59ae675362c9f85640)<br>[AutoAIでお手軽機械学習(その5) API編](https://qiita.com/makaishi2/items/12061696efc97bc1c747)|
|Notebook|-|Jupyter Notebook機能(Python/Rが利用可能)|[Watson NLUサンプルアプリ紹介](https://qiita.com/makaishi2/items/b7cdf8ef5af68ff17d40)<br>[Watson StudioのJupyter NotebookでNLCの精度検証を行う](https://qiita.com/makaishi2/items/505a0edbf85f1644c03a)<br>[Watson Studioで楽々学習。 scikit-learnを使ったVisual Recognition学習ツール](https://qiita.com/makaishi2/items/8051362adeea8c0e8afb)|
|Visual Recognition  |Visual Recognition  |Watson APIの学習、テスト用UI  ||
|Natural Language Classifier|Natural Language Classifier|Watson APIの学習、テスト用UI|[Watson StudioでNLC学習を行う](https://qiita.com/makaishi2/items/abb85bf44d300beeb146)|
|Watson Machine Learningモデル|Machine Learning|モデル管理機能|[KerasのディープラーニングモデルをWatson Machine LearningでWebサービス化する](https://qiita.com/makaishi2/items/d87aa1aa93007b202ab1)<br>[Watson Studioでscikit-learn機械学習モデルをWebサービス化する](https://qiita.com/makaishi2/items/38371d272d752b6e7647)<br>[Watson Studioで学習した深層学習モデルをアプリケーションから呼び出す](https://qiita.com/makaishi2/items/9ea034648b2e53f65068)|
|ディープラーニング実験|Machine Learning|GPUを使った学習機能|[Watson Studio Experiment BuilderでGPUを時間課金利用する](https://qiita.com/makaishi2/items/f3b8b92833d38a539cb7)<br>[Watson Studioで深層学習 Part2。HPO機能付きでExperimentsを試す](https://qiita.com/makaishi2/items/011230dff60e62b078c3)<br>[Watson Machine Learning - HPO機能を試してみる -](https://qiita.com/makaishi2/items/1dae7a51cc70476f5c31)|
|Modeler Flow|-|簡易版SPSS Modeler機能|[タダで学べるAI! Watson Studio Modeler Flow ビデオ講座集](https://qiita.com/makaishi2/items/e1428d5b9f71bde55f01)<br>[SPSSクラウド版で簡単機械学習](https://qiita.com/makaishi2/items/85d7694168e71ee3c094)<br>[Watson StudioのSPSS Modelerを使って回帰モデルをWebサービス化する](https://qiita.com/makaishi2/items/cd9382a8be9a1b5d6a51)|
|Data Refineryフロー|-|UIによるデータ整形機能|
|Streamsフロー|Streaming Analytics サービス|リアルタイム分析用UIツール|[Node-REDより凄い! Streams Flow超入門](https://qiita.com/makaishi2/items/f89088bcf22af704c065)|
|意思決定最適化の実験|Machine Learning|CPLEXと呼ばれる最適化ツールのクラウド版|[Watsonで数独を解く! Decision Optimizationを使ってみた](https://qiita.com/makaishi2/items/d1cc9a3f49f640a3b649)<br>[Watsonで巡回セールスマン問題を解く](https://qiita.com/makaishi2/items/78570f9283c0bc6c7e6c)<br>[Watsonで建築計画を立てる! Model Builderでカンタン最適化](https://qiita.com/makaishi2/items/6ea2c0c425c65648c784)<br>[CPLEXサンプル(warehouse)をWatson StudioのDecision Optimization上で動かす](https://qiita.com/makaishi2/items/4c4935f8ce31ac4d2efe)<br>[CPLEXサンプル(warehouse)をWatson MLのWebサービス化する](https://qiita.com/makaishi2/items/51942a303034ba664f7c)<br>[CPLEXサンプル(diet.py)をWatson StudioのDecision Optimization上で動かす](https://qiita.com/makaishi2/items/734785dc567088abfda1)<br>[CPLEXサンプル(diet.py)をWatson MLのWebサービス化する](https://qiita.com/makaishi2/items/e877211259f149c2ff2e)|

# 共通管理機能
　上で説明した個別の機能以外に、Studio/CP4Dとしての共通管理機能があります。こちらについては、画面上部のタブごとに説明するのがわかりやすいので、その形で順番に説明していきます。

![スクリーンショット 2020-10-15 8.43.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/c8b9b138-024b-cc71-9e21-0684a152a6d7.png)


## 「概要」タブ
　プロジェクトの概要が示されるタブです。具体的には最近のアクティビティなどが表示されます。
![スクリーンショット 2020-10-14 8.38.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/e45f3d84-07a7-26d9-74ac-6800f6d758ff.png)

また、下の方にはREADMEの画面もあります。このREADMEはGithub同様にMarkDownで記述可能です。
![スクリーンショット 2020-10-14 8.39.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/e92e1e83-4552-fe6d-0840-944a02203f8c.png)

## 「資産」タブ
　Watson Studio上の開発成果物が、オブジェクトごとに一覧表示されます。

![スクリーンショット 2020-10-14 8.41.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/f3ab5fe0-381e-d559-983e-99176430bd5c.png)

例えば、「**データ資産**」の中身はこんな感じです。

![スクリーンショット 2020-10-14 8.42.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/0bcbabd6-367a-01a7-5128-7c32d393bbfc.png)

具体的にどのような種類のオブジェクトが扱えるかについては、前の章で紹介しました。

## 「環境」タブ
　Watson Studioの実行環境に関する情報を表示します。

![スクリーンショット 2020-10-15 9.17.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/c2c534d5-7f27-d03a-72d0-2698d806468b.png)

具体的な情報の一つに課金情報があります。Watson Studioでは、Watson MachineLearningという別サービスを関連付けて開発することが多いのですが、そのMachine Learning側の課金情報も確認できるようになっています。

また、下の方には、利用可能なランタイム環境の一覧があります。ランタイム環境は必要に応じて独自のものを作ることも可能です。

![スクリーンショット 2020-10-14 8.49.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/8bbff52f-beab-786d-3613-12b48da99867.png)


## 「ジョブ」タブ
　Watson Studioで作った成果物のうち、RefineryとJupiter Notebookに関しては、ジョブとして定義し、定時起動することが可能です。(最近できるようになったこととしてAPIを使って起動することも可)
そのための管理画面となります。

![スクリーンショット 2020-10-14 8.53.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/ab857e97-a455-b2fb-25f3-842e8a628c8c.png)

個別のジョブはそれぞれリンクになっていて、クリックすると、下のような詳細画面に遷移します。この画面から、該当ジョブがいつ起動され、結果がどうであったかも確認可能です。

![スクリーンショット 2020-10-14 8.54.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/13856428-bfc7-fdc0-ae51-bc51e2ad5cba.png)

## 「アクセス制御」タブ
　Watson Studioのプロジェクトは、プロジェクトを作った人が**Admin**になりますが、追加で共同作業するユーザーを招待することが可能です。この画面はそのためのものです。

![スクリーンショット 2020-10-14 9.27.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/86ccab8b-b284-1955-45ff-672b5e99ba59.png)


　招待するユーザーは、「Admin」「Editor」「Viewer」の3レベルの役割が付けられます。このうち、参照のみの権限であるViewerに関しては、一切課金なしに無制限に追加することが可能です。


## 「設定」タブ
　プロジェクトの設定に関するタブです。具体的にはREADMEの設定などを行います。

![スクリーンショット 2020-10-14 9.31.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/3b2ea875-955e-4ac3-609b-8159c14bde54.png)

画面を下の方にスクロールすると、他サービスとの連携情報が表示されます。

![スクリーンショット 2020-10-14 9.32.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/4e214b13-8a30-66b7-da97-76705bf1199c.png)

# その他関連情報
[【Watson Studioメモ】ブックマーク機能を利用する](https://qiita.com/makaishi2/items/dfb52f5fe8bfe0cdabeb)

[え、Watsonで営業予測ができるの？](https://speakerdeck.com/makaishi2/autoai-goshao-jie-zi-liao)
Watson Studio / AutoAIの紹介記事をSpeaker Deckに公開しています。あわせてご活用下さい。