Slide 1

Slide 1 text

Watson Studioで 機械学習 Hands-on ⽇本アイ・ビー・エム(株) デジタル・ビジネス・グループ デベロッパー・アドボカシー事業部 Developer Advocate ⻄⼾ 京⼦ 2019/07/31更新版

Slide 2

Slide 2 text

2 Introduction to Machine Learning and Artificial Intelligence – Watson Studio Tutorial, Part 2 https://developer.ibm.com/videos/introduction-to-machine- learning-and-artificial-intelligence-watson-studio-tutorial-part-2/ Introduction to Machine Learning and Artificial Intelligence – Watson Studio Tutorial, Part 3 https://developer.ibm.com/videos/introduction-to-machine- learning-and-artificial-intelligence-watson-studio-tutorial-part-3/ このセッションは IBM Developer https://developer.ibm.com/ の 動画を元に作成しています

Slide 3

Slide 3 text

本⽇の資料 3 http://ibm.biz/ml-handson20190731

Slide 4

Slide 4 text

データ使って ⼼不全を 予測できるでしょうか︖ 4

Slide 5

Slide 5 text

機械学習 Machine Learning 5 5 課題: ⼼不全がおこるかどうかを判断する *BMI: 体重kg÷(⾝⻑m*⾝⻑m) 実⾏: モデルは⼼不全の有無 を予測 学習: 学習し結果予測モデル作成のために データセットを利⽤ ⼼拍数 BMI 年齢 性別 結果 93 25 49 F False 108 24 32 M False 80 31 60 M True 93 27 58 F True ⼊⼒: ⼼拍数, BMI*, 年齢, 性別

Slide 6

Slide 6 text

ソリューション: ⼼不全に関するデータを使って、 Watson Studio でモデルを作成し、 トレーニングします 6

Slide 7

Slide 7 text

Watson Studio 7 Model Lifecycle Management マシーンラーニング⽤ランタイム ディープラーニング⽤ランタイム データ分析⽀援ツール Cloud Infrastructure as a Service ⼀つに統合された環境で、AI モデルの構築・トレーニング・ デプロイ・管理を⾏い、データを準備して分析できるツール です。 • IBMクラウドで利⽤可能(Localの 製品もあり) • オープンソースツールとIBMツー ルのベストな組み合わせ • R, Python, Scala⾔語が使⽤可能 • コーディングなしのビジュアルモ デリングツール • 主要なオープンソースの マシーンラーニング⽤ランタイム・ ディープラーニング⽤ランタイム が使⽤可能

Slide 8

Slide 8 text

本⽇のハンズオンは 8 dog cat cat dog Positive ID: Pug Unknown Unknown Positive ID: Pug 教師あり学習 教師あり学習で Watson Studioのモデルビルダーを 使⽤して学習モデルを作成します。 コーディングはありません。

Slide 9

Slide 9 text

本⽇のハンズオンスケジュール 9 時間 内容 これから-17:40 ハンズオン 前のスクリーンで⼀通り実施します。 ⼀緒にやっても資料を⾒ながら先に進めてし まってもどちらでも構いません。 休憩は適時おとりください。 17:40­18:00 AutoAIの説明 新機能AutoAIを簡単にご説明します まとめ Q&A

Slide 10

Slide 10 text

事前準備: データファイルのダウンロード (ここは参照のみ・実施しない) 10 1. ブラウザーで以下にアクセス https://github.com/IBM/predicti ve-model-on-watson- ml/blob/master/data/patientdat aV6.csv 2. 右上の[ Raw ]ボタンを右ク リックします。 3. Link先を別名で保存.. を選択 し、拡張⼦は必ずcsvに変更し⾃ 分のPCに保存。 ファイル名: patientdataV6.csv

Slide 11

Slide 11 text

11 2. ダウンロードしたpatientdataV6.csvから テスト⽤データ100レコードを分離して別ファイル test_patientdataV6.csv に保存。 オリジナル 10800レコード 変更後 10700レコード 新ファイル 100レコード 動作テストに使います 事前準備: データファイルのダウンロード (ここは参照のみ・実施しない) patientdataV6.csv patientdataV6.csv test_ patientdataV6.csv

Slide 12

Slide 12 text

12 以下をダウンロード: 既に分離済み準備しました patientdataV6.csv(変更後): https://ibm.box.com/v/update-patientdataV6 test_patientdataV6.csv: https://ibm.box.com/v/test-patientdataV6 オリジナル 10800レコード 変更後 10700レコード 新ファイル 100レコード 動作テストに使います 事前準備: データファイルのダウンロード patientdataV6.csv patientdataV6.csv test_ patientdataV6.csv

Slide 13

Slide 13 text

トレーニング (最初の「機械学習&AI⼊⾨」資料より抜粋) 13 ルール (モデル) データ1 アルゴリズム 結果:Good パラメータ内部調整 データ2 アルゴリズム 結果:Good パラメータ内部調整 ファイル test_patient dataV6.csv ファイル: patientdataV6.csv

Slide 14

Slide 14 text

14 出席確認も兼ねていますので下記のURLよりログインしていない⽅は 再度クリックしてログインお願いします。 最初はもちろん、IBM Cloudへログイン︕ 1. Watson Studioのセットアップ https://ibm.biz/BdzMAX

Slide 15

Slide 15 text

1. 「カタログ」をクリック 15 1. Watson Studioのセットアップ

Slide 16

Slide 16 text

16 2. リソースの作成 Watson Studio (カテゴリ AI) デプロイする地域/ロケーションの選択は「ダラス」を選択 1. Watson Studioのセットアップ

Slide 17

Slide 17 text

17 1. ダッシュボードを表⽰ (左上のIBM Cloudロゴをクリック) 2. サービスからWatson Studioのサービスを選択 3. Get Startedを選択して起動 2. Watson Studioの起動 もし右側にこのような画⾯がでてきたら、 「全詳細の表⽰」をクリックする

Slide 18

Slide 18 text

18 1. [Create a Project]をクリックします。 2. [Create an empty project]をクリックします。 3. Projectの作成

Slide 19

Slide 19 text

19 3. Nameに任意のProject名を⼊れます。 4. 「Define storage」が表⽰されてない場合は、 下にスクロールして、 「Define storage」を表⽰させます(ブラウザー表⽰が横⻑の場合は右側に 表⽰されています)。 3. Projectの作成

Slide 20

Slide 20 text

20 5A. Object Storage未作成の場合: 5A-1. Define Storage の①Select storage serviceから[Add]をクリックしま す。 3. Projectの作成

Slide 21

Slide 21 text

21 5A-2. Cloud Object Storageの画⾯が表⽰されるので下にスクロールします。 5A-3. Liteが選択されていることを確認して[Create]をクリックします。 5A-4. Confirm Creationのダイアログはそのまま[Confirm]をクリックします。 3. Projectの作成 下にスクロール

Slide 22

Slide 22 text

22 5A-5. New Projectの画⾯になるので、 Define Storage の②Refreshをク リックします 。 5A-6. Storageが表⽰された後、[Create]をクリックします。 3. Projectの作成

Slide 23

Slide 23 text

23 5B. Object Storage作成済の場合: 5B-1. [Create]をクリック ただしObject Storageを複数作成している場合は、使⽤したいObject Storageを選択後に[Create]をクリック 3. Projectの作成

Slide 24

Slide 24 text

24 6. Projectの画⾯が表⽰されます 3. Projectの作成

Slide 25

Slide 25 text

25 1. [Settings]をクリックします。 2. Associated servicesから[+Add services]をクリックして [Watson]を選択 4. サービスの作成と追加

Slide 26

Slide 26 text

3. Machine Learningの[Add]をクリック 4A: [New]のタブが選択された画⾯が表⽰された場合 1. スクロールしてPLANでLiteが選択されていることを確認して⼀番下 の[Create]をクリック 。 2. Confirmの画⾯でRegionがDallasになっていることを確認して [Confirm]をクリック 4. サービスの作成と追加 スクロール スクロール

Slide 27

Slide 27 text

27 4B[Existing]のタブが選択された画⾯が表⽰された場合 Existing Service Instance のドロップダウンから、使⽤するMachine Learningのサービスを選択して[Select]をクリック 。 [Existing]のタブが選択された画⾯が表⽰されたにもかかわらず、「Existing Service Instance」の下に「 No existing service instances found 」が表⽰された場 合は、「CLOUD FOUNDRY ORG」のドロップダウンを開き、値を選択してみてく ださい。。 4. サービスの作成と追加

Slide 28

Slide 28 text

4.サービスの作成と追加 28 6. [Settings] の画⾯に戻ります。 Associated servicesに追加したサービスのインスタンスが追加されている ことを確認します。

Slide 29

Slide 29 text

5. データのアップロード 29 1. 右上にある[0100]アイコンをクリック 2. ダウンロートしたpatientdataV6.csvを右上の点線の四⾓エリアにド ロップ patientdataV6.csv

Slide 30

Slide 30 text

5. データのアップロード 30 3. ロードが終わったらFilesをクリックしてファイルがあることを確認 4. 最後に✖をクリックしてFile画⾯を閉じる

Slide 31

Slide 31 text

6. 機械学習モデルの作成 31 1. 上にスクロールし[Assets] をクリックしAsset画⾯を表⽰します。

Slide 32

Slide 32 text

6. 機械学習モデルの作成 32 2. ModelsのWatson Machine Learning modelsから [+ New Watson Machine Learning model]をクリック

Slide 33

Slide 33 text

6. 機械学習モデルの作成 33 3. [Name]にモデルの名前を記⼊ 4. Machine Learning Service にMachine Learningのインスタンスが選択さ れていることを確認 5. Select model type: Model builder 6. Select runtime: Default Spark Scala 2.11 7. Manualを選択 8. [Create]をクリック

Slide 34

Slide 34 text

6. 機械学習モデルの作成 34 9. Select data assetからpatientdataV6.csv を選択し、[Next]をクリック

Slide 35

Slide 35 text

35 参考までにデータ項⽬は以下のようになっています。 データ項⽬ 内容 AVGHEARTBEATSPERMIN 平均⼼拍数/分 PALPITATIONSPERDAY 動悸の回数/日 CHOLESTEROL コレステロール BMI BMI HEARTFAILURE ⼼不全になったかどうか AGE 年齢 SEX 性別 FAMILYHISTORY 家族に⼼不全があったか SMOKERLAST5YRS 5年以内の喫煙歴 EXERCISEMINPERWEEK 1週間の運動時間(分) 6. 機械学習モデルの作成 ⽬的変数 特徴量 説明変数 特徴量 説明変数

Slide 36

Slide 36 text

6. 機械学習モデルの作成 36 9. 「Column value to predict (Label Col)」の下のSelect Label Colドロッ プダウンリストから「HEARTFAILURE」を選択。 これは予測したい項⽬です。いわゆる⽬的変数の項⽬です。

Slide 37

Slide 37 text

6. 機械学習モデルの作成 37 10. その下のFeature Columnsは⼊⼒項⽬です。 いわゆる特徴量あるいは説明変数の項⽬となります。 デフォルト はLabel Colで選択したもの以外全てが選択されています。 今回は全てでよいのでそのままにします。

Slide 38

Slide 38 text

6. 機械学習モデルの作成 38 11. その下は以下のどのタイプの予測を⾏うかの選択です • Binary Classification: ⼆値分類 (2つのクラス分類) • Multiclass Classification: 多値分類 (複数のクラス分類) • Regression: 回帰 (数値の予測) 今回は⼼不全になったか、ならなかったか, Y または Nの2値予測なので、 Binary Classificationを選択します。

Slide 39

Slide 39 text

6. 機械学習モデルの作成 39 11. その下は全体で使⽤する各データのレコードの割合となります Train 訓練データ Test 検証データ Holdout モデル作成には使⽤しないデータ 変更もできますが、今回はそのままで設定します。

Slide 40

Slide 40 text

トレーニング (最初の「機械学習&AI⼊⾨」資料より抜粋) 40 ルール (モデル) データ1 アルゴリズム 結果:Good パラメータ内部調整 データ2 アルゴリズム 結果:Good パラメータ内部調整 WatsonStudio Train WatsonStudio Test ファイル test_patient dataV6.csv

Slide 41

Slide 41 text

6. 機械学習モデルの作成 41 12. 最後に学習に使⽤するモデルを設定します。 右上の[+ Add Estimators]をクリックします。

Slide 42

Slide 42 text

6. 機械学習モデルの作成 42 13. 使⽤できるモデルとその説明が表⽰されます。 ここでは複数選択が可能です。4つ全てをクリックして選択し最後に [Add]をクリックします。

Slide 43

Slide 43 text

6. 機械学習モデルの作成 43 *以下がModel Builderで利⽤できるモデルの⼀覧です︓ モデル名 Binary Classification Multiclass Classification Regression Logistic Regression ロジスティック回帰 Y Decision Tree Regression 決定⽊ Y Y Y Random Forest Regression ランダムフォレスト Y Y Y Gradient Boosted Tree Regression 勾配ブースティング決定⽊ Y Y Native Bayes 単純ベイズ分類法 Y Linear Regression 線形回帰 Y Isotonic Regression アイソトニック回帰 Y

Slide 44

Slide 44 text

6. 機械学習モデルの作成 44 モデルにはそれぞれ特徴があるのですが、 いろいろ試して、 性能のよいモデルを選択するということが可能です とりあえず 中⾝はよくわからなくとも モデル作成ができます。

Slide 45

Slide 45 text

6. 機械学習モデルの作成 45 14. [Next]をクリックして次に進みます。

Slide 46

Slide 46 text

6. 機械学習モデルの作成 46 15. モデルのトレーニングが始まります︕

Slide 47

Slide 47 text

6. 機械学習モデルの作成 47 16. トレーニングと評価が終了すると、結果が表⽰されます。 AUC ROC曲線 AUC PR曲線

Slide 48

Slide 48 text

6. 機械学習モデルの作成 48 17. とりあえずPERFORMANCEが⼀番よいものを選択し、 [Save]をクリック(2回)

Slide 49

Slide 49 text

6. 機械学習モデルの作成 49 18. 保存したモデルの詳細が表⽰されます。

Slide 50

Slide 50 text

7. 機械学習モデルのデプロイ 50 1. 保存したモデルをWebサービスとしてデプロイします。 [Deployments]をクリックします。

Slide 51

Slide 51 text

7. 機械学習モデルのデプロイ 51 2. [Add Deployment]をクリックします。

Slide 52

Slide 52 text

7. 機械学習モデルのデプロイ 52 3. Nameを⼊⼒し、Deployment typeはWeb serviceを選択し、 [Save]をクリック

Slide 53

Slide 53 text

7. 機械学習モデルのデプロイ 53 5. デプロイが完了しました︕ STATUSがなかなか変わらない場合はリロードしてみてください。

Slide 54

Slide 54 text

54 機械学習モデルを 使ってみる

Slide 55

Slide 55 text

8. 機械学習モデルのテスト 55 1. 先ほどの画⾯のNameをクリックします

Slide 56

Slide 56 text

8. 機械学習モデルのテスト 56 2. Testをクリックします

Slide 57

Slide 57 text

8. 機械学習モデルのテスト 57 3. 各値を⼊れて、[Predict]をクリックします。 テストする値はtest_patientdataV6.csvの値をを 使ってみましょう。 データ項⽬ 内容 AVGHEARTBEATSPERMIN 平均⼼拍数/分 PALPITATIONSPERDAY 動悸の回数/日 CHOLESTEROL コレステロール BMI BMI AGE 年齢 SEX 性別 FAMILYHISTORY 家族に⼼不全があったか SMOKERLAST5YRS 5年以内の喫煙歴 EXERCISEMINPERWEEK 1週間の運動時間(分)

Slide 58

Slide 58 text

8. 機械学習モデルのテスト 58 4. 予測される検査結果が確信度とともに表⽰されます

Slide 59

Slide 59 text

9. 実際にアプリから使うには、、、 59 Implementationをクリックするすると、Webサービスでの呼び出し⽅ 法がcURL,各種⾔語のsnipetで確認できます。

Slide 60

Slide 60 text

60 モデルをWebサービスとして デプロイすれば、 アプリから呼び出せるように なります︕

Slide 61

Slide 61 text

61 AutoAI New https://www.ibm.com/cloud/watson-studio/autoai https://www-03.ibm.com/press/jp/ja/pressrelease/55108.wss New 6/13発表!

Slide 62

Slide 62 text

IBM Watson Studio AutoAIの機能 • Watson Studio と Watson Machine learning を統合 • データ取り込み、データクレンジン グ、データ変換、ハイパーパラメー ター最適化(HPO)によるモデル作成を ⾃動化 • トレーニングフィードバックの視覚化 により、モデルのパフォーマンスを確 認するためのリアルタイムの結果が参 照可能 • Watson Machine Learningへのワンクリッ クDeployment

Slide 63

Slide 63 text

Demo Video 63 https://youtu.be/cjGGUu9vprQ?start=42 (途中からの開始です)

Slide 64

Slide 64 text

チュートリアル(英語) 64 https://www.ibm.com/cloud/garage/dte/tutorial/ibm-watson- studio-autoai-modeling-rest-us IBM Watson Studio AutoAI: Modeling for the rest of us チュートリアル: IBM Watson Studio AutoAI: これまでにない⼀般ユーザーのためのモデリング Published on July 15, 2019 AutoAIでBinary ClassificationとRegressionモデルを作成しテスト、さらに jupyter notebookを使⽤してpythonから呼び出すチュートリアルです。 このハンズオンと同じProjectを使⽤する場合は、Projectを開いた状態で 「Creating an AutoAI model for binary classification 」 から開始してください。

Slide 65

Slide 65 text

参考: How does it work? AutoAI Experiments ラベル付き データセット 準備 モデル選択 ハイパー パラメーター 最適化 (HPO) 特徴量 エンジニア リング ハイパー パラメーター 最適化 (HPO) アンサンブル 最善の ⽋損値補完 /エンコーディン グ/正規化/標準化 の⽅法を⾒つけ出 し前処理を実施 最適なモデル を選択 選定したモデ ルのハイパー パラメーター 最適化 特徴量エンジ ニアリング後 のハイパーパ ラメータ最適 化 最適な特徴量の 設定 パイプライン の予測に基づ き最適なアン サンプルを計 算

Slide 66

Slide 66 text

まとめ • Watson StudioのModel Builderで機械学習のモデルが 簡単に作成できる • 今後はAutoAIでさらに簡単に作成可能 • 作成したモデルはWebサービスで呼び出しできる

Slide 67

Slide 67 text

67 Thank you twitter.com/KyokoNishito github.com/kyokonishito developer.ibm.com/jp

Slide 68

Slide 68 text

68