Watson Studioで機械学習ハンズオン / ML Handson with Watson Studio 2019-06-26

Watson Studioで機械学習ハンズオン / ML Handson with Watson Studio 2019-06-26

2019/06/26(水) 18:45 〜 20:30にDeveloper Dojo Shibuya
2019/07/31(水) 16:45-18:00@Developer Dojo
で開催した「Watson Studio 機械学習入門」の「Watson Studioで機械学習ハンズオン」の資料です。

2019/07/31: 最新のWatson Studio UIの内容で更新、AutoAIのチュートルアルリンク追加、微修正

Ca7e4f1680e175e6462a039923e71fc5?s=128

Kyoko Nishito

June 26, 2019
Tweet

Transcript

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

    京⼦ 2019/07/31更新版
  2. 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/ の 動画を元に作成しています
  3. 本⽇の資料 3 http://ibm.biz/ml-handson20190731

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

  5. 機械学習 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*, 年齢, 性別
  6. ソリューション: ⼼不全に関するデータを使って、 Watson Studio でモデルを作成し、 トレーニングします 6

  7. Watson Studio 7 Model Lifecycle Management マシーンラーニング⽤ランタイム ディープラーニング⽤ランタイム データ分析⽀援ツール Cloud

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

    Unknown Positive ID: Pug 教師あり学習 教師あり学習で Watson Studioのモデルビルダーを 使⽤して学習モデルを作成します。 コーディングはありません。
  9. 本⽇のハンズオンスケジュール 9 時間 内容 これから-17:40 ハンズオン 前のスクリーンで⼀通り実施します。 ⼀緒にやっても資料を⾒ながら先に進めてし まってもどちらでも構いません。 休憩は適時おとりください。

    17:40­18:00 AutoAIの説明 新機能AutoAIを簡単にご説明します まとめ Q&A
  10. 事前準備: データファイルのダウンロード (ここは参照のみ・実施しない) 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
  11. 11 2. ダウンロードしたpatientdataV6.csvから テスト⽤データ100レコードを分離して別ファイル test_patientdataV6.csv に保存。 オリジナル 10800レコード 変更後 10700レコード

    新ファイル 100レコード 動作テストに使います 事前準備: データファイルのダウンロード (ここは参照のみ・実施しない) patientdataV6.csv patientdataV6.csv test_ patientdataV6.csv
  12. 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
  13. トレーニング (最初の「機械学習&AI⼊⾨」資料より抜粋) 13 ルール (モデル) データ1 アルゴリズム 結果:Good パラメータ内部調整 データ2

    アルゴリズム 結果:Good パラメータ内部調整 ファイル test_patient dataV6.csv ファイル: patientdataV6.csv
  14. 14 出席確認も兼ねていますので下記のURLよりログインしていない⽅は 再度クリックしてログインお願いします。 最初はもちろん、IBM Cloudへログイン︕ 1. Watson Studioのセットアップ https://ibm.biz/BdzMAX

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

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

    Studioのセットアップ
  17. 17 1. ダッシュボードを表⽰ (左上のIBM Cloudロゴをクリック) 2. サービスからWatson Studioのサービスを選択 3. Get

    Startedを選択して起動 2. Watson Studioの起動 もし右側にこのような画⾯がでてきたら、 「全詳細の表⽰」をクリックする
  18. 18 1. [Create a Project]をクリックします。 2. [Create an empty project]をクリックします。

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

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

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

    3. Projectの作成 下にスクロール
  22. 22 5A-5. New Projectの画⾯になるので、 Define Storage の②Refreshをク リックします 。 5A-6.

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

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

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

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

    Confirmの画⾯でRegionがDallasになっていることを確認して [Confirm]をクリック 4. サービスの作成と追加 スクロール スクロール
  27. 27 4B[Existing]のタブが選択された画⾯が表⽰された場合 Existing Service Instance のドロップダウンから、使⽤するMachine Learningのサービスを選択して[Select]をクリック 。 [Existing]のタブが選択された画⾯が表⽰されたにもかかわらず、「Existing Service

    Instance」の下に「 No existing service instances found 」が表⽰された場 合は、「CLOUD FOUNDRY ORG」のドロップダウンを開き、値を選択してみてく ださい。。 4. サービスの作成と追加
  28. 4.サービスの作成と追加 28 6. [Settings] の画⾯に戻ります。 Associated servicesに追加したサービスのインスタンスが追加されている ことを確認します。

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

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

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

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

    Watson Machine Learning model]をクリック
  33. 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]をクリック
  34. 6. 機械学習モデルの作成 34 9. Select data assetからpatientdataV6.csv を選択し、[Next]をクリック

  35. 35 参考までにデータ項⽬は以下のようになっています。 データ項⽬ 内容 AVGHEARTBEATSPERMIN 平均⼼拍数/分 PALPITATIONSPERDAY 動悸の回数/日 CHOLESTEROL コレステロール

    BMI BMI HEARTFAILURE ⼼不全になったかどうか AGE 年齢 SEX 性別 FAMILYHISTORY 家族に⼼不全があったか SMOKERLAST5YRS 5年以内の喫煙歴 EXERCISEMINPERWEEK 1週間の運動時間(分) 6. 機械学習モデルの作成 ⽬的変数 特徴量 説明変数 特徴量 説明変数
  36. 6. 機械学習モデルの作成 36 9. 「Column value to predict (Label Col)」の下のSelect

    Label Colドロッ プダウンリストから「HEARTFAILURE」を選択。 これは予測したい項⽬です。いわゆる⽬的変数の項⽬です。
  37. 6. 機械学習モデルの作成 37 10. その下のFeature Columnsは⼊⼒項⽬です。 いわゆる特徴量あるいは説明変数の項⽬となります。 デフォルト はLabel Colで選択したもの以外全てが選択されています。

    今回は全てでよいのでそのままにします。
  38. 6. 機械学習モデルの作成 38 11. その下は以下のどのタイプの予測を⾏うかの選択です • Binary Classification: ⼆値分類 (2つのクラス分類)

    • Multiclass Classification: 多値分類 (複数のクラス分類) • Regression: 回帰 (数値の予測) 今回は⼼不全になったか、ならなかったか, Y または Nの2値予測なので、 Binary Classificationを選択します。
  39. 6. 機械学習モデルの作成 39 11. その下は全体で使⽤する各データのレコードの割合となります Train 訓練データ Test 検証データ Holdout

    モデル作成には使⽤しないデータ 変更もできますが、今回はそのままで設定します。
  40. トレーニング (最初の「機械学習&AI⼊⾨」資料より抜粋) 40 ルール (モデル) データ1 アルゴリズム 結果:Good パラメータ内部調整 データ2

    アルゴリズム 結果:Good パラメータ内部調整 WatsonStudio Train WatsonStudio Test ファイル test_patient dataV6.csv
  41. 6. 機械学習モデルの作成 41 12. 最後に学習に使⽤するモデルを設定します。 右上の[+ Add Estimators]をクリックします。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  57. 8. 機械学習モデルのテスト 57 3. 各値を⼊れて、[Predict]をクリックします。 テストする値はtest_patientdataV6.csvの値をを 使ってみましょう。 データ項⽬ 内容 AVGHEARTBEATSPERMIN

    平均⼼拍数/分 PALPITATIONSPERDAY 動悸の回数/日 CHOLESTEROL コレステロール BMI BMI AGE 年齢 SEX 性別 FAMILYHISTORY 家族に⼼不全があったか SMOKERLAST5YRS 5年以内の喫煙歴 EXERCISEMINPERWEEK 1週間の運動時間(分)
  58. 8. 機械学習モデルのテスト 58 4. 予測される検査結果が確信度とともに表⽰されます

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

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

  61. 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発表!

  62. IBM Watson Studio AutoAIの機能 • Watson Studio と Watson Machine

    learning を統合 • データ取り込み、データクレンジン グ、データ変換、ハイパーパラメー ター最適化(HPO)によるモデル作成を ⾃動化 • トレーニングフィードバックの視覚化 により、モデルのパフォーマンスを確 認するためのリアルタイムの結果が参 照可能 • Watson Machine Learningへのワンクリッ クDeployment
  63. Demo Video 63 https://youtu.be/cjGGUu9vprQ?start=42 (途中からの開始です)

  64. チュートリアル(英語) 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 」 から開始してください。
  65. 参考: How does it work? AutoAI Experiments ラベル付き データセット 準備

    モデル選択 ハイパー パラメーター 最適化 (HPO) 特徴量 エンジニア リング ハイパー パラメーター 最適化 (HPO) アンサンブル 最善の ⽋損値補完 /エンコーディン グ/正規化/標準化 の⽅法を⾒つけ出 し前処理を実施 最適なモデル を選択 選定したモデ ルのハイパー パラメーター 最適化 特徴量エンジ ニアリング後 のハイパーパ ラメータ最適 化 最適な特徴量の 設定 パイプライン の予測に基づ き最適なアン サンプルを計 算
  66. まとめ • Watson StudioのModel Builderで機械学習のモデルが 簡単に作成できる • 今後はAutoAIでさらに簡単に作成可能 • 作成したモデルはWebサービスで呼び出しできる

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

  68. 68