Help us understand the problem. What is going on with this article?

Watson Openscaleでscikit-learn モデルの説明性を確認する 【セットアップ編】

はじめに

Watson Openscaleの機能を一通り試してみたい場合、チュートリアル 対話式セットアップの手順に従うのが早道です。
しかし、この手順では、自分で作ったモデルをデプロイする際必要になる手順で一部省略されている箇所があり、自分で作ったモデルを管理対象にしたい場合わからない点がでてきます。
当記事は、この足りない部分を補う目的で記載しました。
記事がかなり長くなったので、当記事はセットアップ手順のみ記載します。
動作確認用の記事は別途「動作確認編」として掲載しています。

[2020-04-25] セットアップ手順修正

対象モデル

iris data setを利用した多値分類(三値)モデルを作ります。
利用するモデルはロジスティック回帰モデルです。
フレームワークに関しては、つい最近scikit-learnが対応するようになったので、動作確認を兼ねてこのフレームワークを利用することにします。

前提環境

下記の環境は設定済みであることを前提としています。インスタンスはすべてダラスで作成して下さい。

  • Watson Studio
  • Object Cloud Storage
  • Watson Machine Learning
  • Db2 on Cloud
  • Watson OpenScale

ちなみに、すべてのサービスは、Liteプランで作成可能です。

こちらの細かい手順については、以下の別記事を参考にして下さい。

Db2 on Cloudは、「データベース」カテゴリに、Watson OpenScale「AI」カテゴリに含まれています。

これらのインスタンスがすべてできたら、上記ガイドに従い、Studioのプロジェクトを作成します。Watson Machine Learningのインスタンスは、作成したプロジェクトと関連付けます。
(Db2とOpenScaleについては、この対応は不要です)

セットアップ用ファイルの準備

以下のファイルを下記サイトからダウンロードしておきます。

ファイル名 リンク 目的
iris-all.csv iris-all.csv Db2テーブル作成用
make-iris-model.ipynb make-iris-model.ipynb モデル構築・保存用スクリプト
iris-web-test.json iris-web-test.json Webサービステスト用

Notebook全体を確認したい場合は、以下のリンクを参照してください。

https://github.com/makaishi2/sample-data/blob/master/notebooks/make-iris-model.ipynb

認証情報の取得

この後の手順で必要になるので、以下の認証情報を取得しておきます。

  • Watson Machine Learning
  • Db2 on Cloud

https://cloud.ibm.com/resources から該当するサービスを選択し、

① サービス資格情報をクリック
② (資格情報がなければ)「新規資格情報」をクリックしてデフォルト設定で資格情報作成
③ 資格情報の表示をクリック

スクリーンショット 2019-07-04 19.10.07.png

クリップボードのアイコンをクリックすると、資格情報全体がコピーされるので、テキストエディタなどに保存しておきます。

機械学習モデルの構築からWebサービスの生成まで

Jupyter Notebookの読み込み

Watson Stdioのプロジェクト管理画面を表示し、「Add to project」->「Notebook」を選択します。

スクリーンショット 2019-07-04 20.12.38.png

下の画面で
① 「From file」タブをクリックします。
② 画面右上の「選択」ボタンをクリックして事前に準備したmake-iris-model.ipynbファイルを読み込みます。
③ 「Create Notebook」ボタンをクリックします。

スクリーンショット 2019-07-04 20.13.11.png

Machine Learning認証情報の設定

事前準備したWatson Machine Learningの認証情報を下の画面のようにwml_credentailsのセルに張り付けます。

スクリーンショット 2019-07-04 20.24.36.png

Notebookの実行

後は上から順にnotebookのセルを実行します。
一番上の!pip install scikit-learn==0.19コマンドも必ず実行するようにして下さい。
正常に実行できると、Modelの登録、Webサービスの登録、テストまでできるはずです。

スクリーンショット 2019-07-04 20.31.07.png

最後の実行結果が、上の画面のようになっていることを確認して下さい。
予測値が確率値付きで戻ってきていることがわかります。

学習用テーブルの用意

モデルの登録ができたら、学習用データの入ったテーブルの準備をします。

https://cloud.ibm.com/resources でIBM Cloudのリソース・リストを表示し、Cloud Foundryサービスの配下にあるDb2 on Cloud-xxを選択します。

スクリーンショット 2019-07-04 20.35.56.png

下の画面になったら、「Open Console」をクリックします。

スクリーンショット 2019-07-04 20.38.37.png

下の画面になったら、画面下方の「Load」ボタンをクリックします。

スクリーンショット 2019-07-04 20.41.08.png

更に、事前準備したiris-all.csvをdrag and dropして、「Next」ボタンをクリックして下さい。

スクリーンショット 2019-07-04 20.41.19.png

下の画面になったら、
①一番上の「Schema」を選択します。
②「New Table」をクリックします。

スクリーンショット 2019-07-04 20.44.45.png

テーブル名は「IRIS」と入れて、「Create」します。

スクリーンショット 2019-07-04 20.45.09.png

下の画面になったら「Next」をクリック

スクリーンショット 2019-07-04 20.45.33.png

次の画面では「Begin Load」をクリックします。

スクリーンショット 2019-07-04 20.45.48.png

これで自動的にテーブル作成とデータロードが行われます。下の画面になったら、登録に成功していますので、画面を閉じます。

スクリーンショット 2019-07-04 20.46.28.png

OpenScaleのセットアップ

これで、必要な準備は一通り終わりました。いよいよOpenScaleの設定を始めます。

https://cloud.ibm.com/resources の管理画面から「Watson OpenScale-xx」をクリックします。

スクリーンショット 2019-07-04 20.54.58.png

下の画面で「Launch Application」をクリックします。

スクリーンショット 2019-07-04 20.55.11.png

次の画面では「実行しない」を選択します。

スクリーンショット 2019-07-04 20.58.59.png

その次の「データベースの選択」では、「無料のライト・プラン」を選択し、画面右下の「保存」ボタンをクリックして下さい。

スクリーンショット 2019-07-04 20.59.53.png

引き続き、「Select Provider」を選択します。

スクリーンショット 2019-07-04 21.00.17.png

次の画面では「Add machine learning provider」をクリックします。

スクリーンショット 2019-07-04 21.00.29.png

その次の画面では、左上の「Watson Machine Learning」を選択します。

スクリーンショット 2019-07-04 21.00.46.png

その次の画面では、インスタンス名にpm-20-xxがあるはずなので、それを選択した後、その下の「Service provider instance name」にwatson mlなど適当な名前を設定して、画面右下の「保存」をクリックします。

スクリーンショット 2019-07-04 21.03.30.png

その次の画面では「Go to Dashboard」をクリックして下さい。

スクリーンショット 2019-07-04 21.03.49.png

続けて、画面中央の「*Add」ボタンをクリックします。これは、管理対象のモデル選択処理になります。

スクリーンショット 2019-07-04 21.04.06.png

先ほど登録したscikit-learnのモデルがあるはずなので、それを選択して「Configure」をクリックします。

スクリーンショット 2019-07-04 21.07.23.png

次の画面になったら、「Configure monitors」をクリックします。

スクリーンショット 2019-07-04 21.07.35.png

下の画面になるはずなので、Data type は「Numerical/Categorical」を、Algorithm typeは「多項分類」を選択して、「Save」ボタンをクリックします。

スクリーンショット 2019-07-04 21.07.59.png

下の画面が表示されるはずです。

スクリーンショット 2019-07-04 21.20.04.png

ここでStudioのプロジェクト管理画面に戻って、「Deployment」タブを表示します。先ほど登録したWebサービスがあるはずなので、それをクリックします。

スクリーンショット 2019-07-04 21.48.41.png

下の画面で
Testタブを表示
② 事前に用意したiris-web-test.jsonの内容を丸ごと入力エリアにコピペ
Predictボタンをクリック
します。うまくいくと予測結果が右側に表示されます。
この手順が、この後のセットアップのために重要となります。

スクリーンショット 2019-07-04 21.48.58.png

その後で、OpenScale設定画面に戻り、画面左の「Model Details」をクリックします。

スクリーンショット 2019-07-04 21.20.04.png

次の画面右下で、「Begin」のボタンが有効になっているはずなのでクリックします。もし、有効になっていない場合は再度Webサービス呼出しを行って下さい。

スクリーンショット 2019-07-04 21.30.14.png

モニタリングの構成は左側の「手動構成」として、「次へ」をクリックします。

スクリーンショット 2019-07-04 21.31.52.png

次の画面では場所Db2として下さい。その後の接続情報は事前に調べておいたDb2の認証情報を順に入力し、最後に「テスト」をクリックします。
テストが正常に終わると、画面右下の「次へ」ボタンが選べるようになります。

スクリーンショット 2019-07-04 21.33.27.png

スキーマ名テーブル名は事前に作成したものを選びます。

スクリーンショット 2019-07-04 21.37.30.png

ラベル列の選択」では、classを選択します。

スクリーンショット 2019-07-04 21.38.04.png

次の画面では4つの項目すべてを選択します。

スクリーンショット 2019-07-04 21.38.25.png

その次の画面は何も選択せずに先に「次へ」をクリックします。

スクリーンショット 2019-07-04 21.38.41.png

予測列の選択ではpredictionを選択します。

スクリーンショット 2019-07-04 21.45.30.png

その次の予測確率列の選択では、probabilityを選択します。

スクリーンショット 2019-07-04 21.45.43.png

設定がうまくいくと下のような確認画面になるので、「保存」をクリックします。

スクリーンショット 2019-07-04 21.45.58.png

お疲れ様でした。これで設定は完了となります。

スクリーンショット 2019-07-04 21.46.15.png

動作確認については、「動作確認編」を参照してください。

makaishi2
2016年8月よりWatson事業部所属です。 投稿された情報はあくまで個人の見解なので、内容に関して責任を負うものではない事はご了承下さい。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away