Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilotを使用した統合データ準備とモデルトレーニング

データは機械学習(ML)を促進します。 データの品質は、MLモデルの品質に直接影響します。 したがって、正確なMLモデルを作成するには、データ品質を向上させ、適切な特徴エンジニアリング手法を採用することが重要です。 MLの実践者は、実世界のデータを適切に一般化し、望ましい結果を提供する最適なモデルを探すために、特徴エンジニアリング、アルゴリズムの選択、およびMLの他の側面を退屈に繰り返すことがよくあります。 ビジネスのスピードが不釣り合いに重要であるため、この非常に退屈で反復的なプロセスは、プロジェクトの遅延やビジネスチャンスの喪失につながる可能性があります。

AmazonSageMakerデータラングラー MLのデータを集約して準備する時間を数週間から数分に短縮し、 Amazon SageMakerオートパイロット データに基づいて、最適なMLモデルを自動的に構築、トレーニング、調整します。 オートパイロットを使用すると、データとモデルの完全な制御と可視性を維持できます。 どちらのサービスも、MLの実践者の生産性を高め、価値実現までの時間を短縮することを目的としています。

Data Wranglerは、データを準備し、オートパイロットでMLモデルをシームレスにトレーニングできるようにする統一されたエクスペリエンスを提供するようになりました。 この新しくリリースされた機能により、データラングラーでデータを準備し、データラングラーのユーザーインターフェイス(UI)から直接オートパイロット実験を簡単に起動できるようになりました。 数回クリックするだけで、MLモデルを自動的に構築、トレーニング、調整できるため、最先端の特徴エンジニアリング手法を簡単に採用し、高品質のMLモデルをトレーニングし、データからより迅速に洞察を得ることができます。

この投稿では、データラングラーのこの新しい統合エクスペリエンスを使用して、データセットを分析し、オートパイロットで高品質のMLモデルを簡単に構築する方法について説明します。

データセットの概要

ピマインディアンは、米国のメキシコとアリゾナに住む先住民族です。 研究 糖尿病のリスクの高い集団としてピマインディアンを示します。 糖尿病のような慢性疾患に対する個人のリスクと感受性の確率を予測することは、このしばしば過小評価されているマイノリティグループの健康と幸福を改善する上で重要なタスクです。

私たちは、使用 ピマインディアン糖尿病の公開データセット 糖尿病に対する個人の感受性を予測するため。 Data WranglerとAutopilotの新しい統合に焦点を当てて、データを準備し、コードをXNUMX行も記述せずにMLモデルを自動的に作成します。

データセットには、21歳以上のピマインディアンの女性に関する情報が含まれており、いくつかの医療予測変数(独立)変数とXNUMXつのターゲット(従属)変数である結果が含まれています。 次のグラフは、データセットの列を示しています。

コラム 名前 説明
妊娠 妊娠した回数
グルコース 2時間以内の経口ブドウ糖負荷試験における血漿ブドウ糖濃度
血圧 拡張期血圧(mm Hg)
皮膚の厚さ 上腕三頭筋のひだの厚さ(mm)
インスリン 2時間血清インスリン(mu U / ml)
BMI ボディマス指数(kg単位の体重/(m単位の身長)^ 2)
糖尿病血統 糖尿病の血統機能
ご年齢 年齢
結果 ターゲット変数

データセットには768のレコードが含まれ、合計9つの機能があります。 このデータセットをに保存します Amazon シンプル ストレージ バケット (Amazon S3)をCSVファイルとして送信し、CSVをAmazonS3からデータラングラーフローに直接インポートします。

ソリューションの概要

次の図は、この投稿で達成したことをまとめたものです。[KT1]

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

データ科学者、医師、およびその他の医療分野の専門家は、血糖値、血圧、肥満度指数、および糖尿病の可能性を予測するために使用されるその他の機能に関する情報を患者データに提供します。 Amazon S3のデータセットを使用して、データセットをData Wranglerにインポートし、探索的データ分析(EDA)、データプロファイリング、特徴エンジニアリングを実行し、データセットをトレーニングとテストに分割してモデルの構築と評価を行います。

次に、オートパイロットの新機能統合を使用して、データラングラーインターフェイスから直接モデルをすばやく構築します。 Fベータスコアが最も高いモデルに基づいて、オートパイロットの最良のモデルを選択します。 オートパイロットが最適なモデルを見つけたら、 SageMakerバッチ変換 評価に最適なモデルのモデルアーティファクトを設定したテスト(ホールドアウト)のジョブ。

医療専門家は、検証済みモデルに新しいデータを提供して、患者が糖尿病になる可能性があるかどうかを確認するための予測を取得できます。 これらの洞察により、医療専門家は脆弱な人々の健康と幸福を改善するために早期に治療を開始することができます。 医療専門家は、モデルの説明可能性、パフォーマンス、およびアーティファクトを完全に可視化できるため、オートパイロットでモデルの詳細を参照することにより、モデルの予測を説明することもできます。 テストセットからのモデルの検証に加えて、この可視性により、医療専門家はモデルの予測能力に大きな自信を持てるようになります。

次の高レベルの手順を説明します。

  1. AmazonS3からデータセットをインポートします。
  2. データラングラーを使用してEDAとデータプロファイリングを実行します。
  3. 特徴エンジニアリングを実行して、外れ値と欠落値を処理します。
  4. データをトレインセットとテストセットに分割します。
  5. オートパイロットを使用してモデルをトレーニングおよび構築します。
  6. SageMakerノートブックを使用してホールドアウトサンプルでモデルをテストします。
  7. 検証とテストセットのパフォーマンスを分析します。

前提条件

次の前提条件の手順を実行します。

  1. データセットをアップロードする 選択したS3バケットに。
  2. 必要な権限があることを確認してください。 詳細については、を参照してください。 データラングラーの使用を開始する.
  3. DataWranglerを使用するように設定されたSageMakerドメインをセットアップします。 手順については、を参照してください。 AmazonSageMakerドメインにオンボード.

データラングラーを使用してデータセットをインポートする

データラングラーのデータフローをMLワークフローに統合して、コーディングをほとんどまたはまったく使用せずに、データの前処理と特徴エンジニアリングを簡素化および合理化できます。 次の手順を実行します。

  1. 新しいを作成します データラングラーフロー.

Data Wrangler を初めて開く場合は、準備ができるまで数分かかる場合があります。

  1. Amazon S3に保存されているデータセットを選択し、DataWranglerにインポートします。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

データセットをインポートすると、データラングラーUI内にデータフローの始まりが表示されます。 これでフローチャートができました。

  1. 横のプラス記号を選択します データ型 選択して 編集 データラングラーがデータ列の正しいデータ型を自動的に推測したことを確認します。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

データ型が正しくない場合は、UIを使用して簡単に変更できます。 複数のデータソースが存在する場合は、それらを結合または連結できます。

これで、分析を作成して変換を追加できます。

データインサイトレポートを使用して探索的データ分析を実行します

探索的データ分析は、MLワークフローの重要な部分です。 Data Wranglerからの新しいデータインサイトレポートを使用して、データのプロファイルと分布をよりよく理解することができます。 レポートには、要約統計量、データ品質の警告、ターゲット列の洞察、クイックモデル、および異常な行と重複する行に関する情報が含まれます。

  1. 横のプラス記号を選択します データ型 選択して データの洞察を得る.

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

  1. ターゲット の項目に表示されます。、選択する 結果.
  2. 問題の種類、および(オプションで)選択 Classification.
  3. 選択する 創造する.

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

結果は、データセット統計を含む要約データを示しています。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

また、ヒストグラムを使用してラベル付けされた行の分布、クイックモデル機能を使用したモデルの予想される予測品質の推定値、および機能の概要テーブルを表示することもできます。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

データインサイトレポートの分析の詳細については説明しません。 参照する Amazon SageMakerDataWranglerのデータ品質と洞察でデータ準備を加速します データインサイトレポートを使用してデータ準備手順を高速化する方法の詳細については、こちらをご覧ください。

特徴エンジニアリングを実行する

入力列の分布を高レベルでプロファイリングおよび分析したので、データの品質を向上させるための最初の考慮事項は、欠落している値を処理することです。

たとえば、ゼロ(0)は Insulin 列は欠落値を表します。 ゼロを次のように置き換えるという推奨事項に従うことができます NaN。 しかし、詳しく調べてみると、次のような他の列の最小値は0であることがわかります。 Glucose, BloodPressure, SkinThickness, BMI。 欠落している値を処理する方法が必要ですが、有効なデータとしてゼロを含む列に注意を払う必要があります。 これを修正する方法を見てみましょう。

機能の詳細 セクションでは、レポートは 偽装された欠落値 機能に関する警告 Insulin.

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

のゼロは Insulin 列には実際にはデータがありません。 正規表現を欠落に変換する ゼロ値を空(欠落値)に変換するために変換します。

  1. 横のプラス記号を選択します 且つ 選択して Add 変換.
  2.  選択する 検索・編集.
  3. 最適化の適用、選択する 正規表現を欠落に変換する.
  4. 入力 コラム、列を選択します Insulin, Glucose, BloodPressure, SkinThickness, BMI.
  5. パターン、 入る 0.
  6. 選択する プレビュー & Add このステップを保存します。

下の0エントリ Insulin, Glucose, BloodPressure, SkinThickness, BMI 現在、値が欠落しています。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

データラングラーには、欠落している値を修正するためのその他のオプションがいくつかあります。

  1. の近似中央値を代入することにより、欠落値を処理します Glucose コラム。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

また、機能が同じスケールであることを確認したいと思います。 数値範囲が大きいという理由だけで、特定の機能に誤って重みを付けたくありません。 これを行うために機能を正規化します。

  1. 新たに追加 数値を処理する 変換して選択 スケール値.
  2. スケーラー、選択する 最小-最大スケーラー.
  3. 入力列、列を選択します Pregnancies, BloodPressure, Glucose, SkinThickness, Insulin, BMI, Age.
  4. 作成セッションプロセスで 最小値 〜へ 0 & 最大値 〜へ 1.

これにより、機能が値の間にあることが確認されます 0 & 1.

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

これでいくつかの機能が作成されたので、モデルを作成する前に、データセットをトレーニングとテストに分割します。

データをトレーニングとテストに分割する

MLワークフローのモデル構築フェーズでは、バッチ予測を実行してモデルの有効性をテストします。 評価用のテストデータセットまたはホールドアウトデータセットを取っておき、予測をグラウンドトゥルースと比較することでモデルのパフォーマンスを確認できます。 一般に、モデルの予測の多くが一致する場合 true ラベルを使用すると、モデルのパフォーマンスが良好であると判断できます。

データラングラーを使用して、テスト用にデータセットを分割します。 データセットが比較的小さいため、トレーニング用にデータセットの90%を保持しています。 データセットの残りの10%は、テストデータセットとして機能します。 このデータセットを使用して、この投稿の後半でオートパイロットモデルを検証します。

を選択してデータを分割します 分割データ 変換して選択する ランダム分割 メソッドとして。 トレーニングの分割パーセンテージとして0.9を指定し、テストの分割パーセンテージとして0.1を指定します。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

データ変換と機能エンジニアリングの手順が完了したので、モデルをトレーニングする準備が整いました。

モデルのトレーニングと検証

新しいデータラングラーとオートパイロットの統合を使用して、データラングラーデータフローUIからモデルを直接トレーニングできます。

  1. 横のプラス記号を選択します データセット 選択して 列車モデル.

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

  1. AmazonS3の場所、SageMakerがデータをエクスポートするAmazonS3の場所を指定します。

オートパイロットはこの場所を使用してモデルを自動的にトレーニングし、データラングラーフローの出力場所を定義してから、オートパイロットトレーニングデータの入力場所を定義する時間を節約します。 これにより、よりシームレスなエクスペリエンスが実現します。

  1. 選択する 輸出 そして訓練する オートパイロットでモデル構築を開始します。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

オートパイロットは、トレーニングデータの入力場所と出力場所を自動的に選択します。 ターゲット列を指定してクリックするだけです 実験を作成 モデルをトレーニングします。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

ホールドアウトサンプルでモデルをテストする

オートパイロットが実験を完了すると、トレーニング結果を表示し、最適なモデルを探索できます。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

  1. 選択する モデルの詳細を表示 ご希望のモデルについては、 性能 モデルの詳細ページのタブ。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

  性能 タブには、混同行列、適合率/再現率曲線の下の領域(AUCPR)、受信者動作特性曲線の下の領域(ROC)など、いくつかのモデル測定テストが表示されます。 これらは、モデルの全体的な検証パフォーマンスを示していますが、モデルが適切に一般化されるかどうかはわかりません。 個人が糖尿病になるかどうかをモデルがどれだけ正確に予測するかを確認するために、目に見えないテストデータに対して評価を実行する必要があります。

モデルが十分に一般化されるようにするために、独立したサンプリングのためにテストサンプルを取っておきます。 これは、データラングラーフローUIで実行できます。

  1.  横のプラス記号を選択します データセット、選択する 輸出、選択して アマゾンS3.

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

  1. AmazonS3パスを指定します。

次のセクションで検証のためにバッチ推論を実行するときに、このパスを参照します。

  1. 新しいSageMakerノートブックを作成して、ホールドアウトサンプルでバッチ推論を実行し、テストパフォーマンスを評価します。 以下を参照してください GitHubレポ のために サンプルノート 検証のためにバッチ推論を実行します。

検証とテストセットのパフォーマンスを分析する

バッチ変換が完了すると、混同行列を作成して、ホールドアウトデータセットの実際の結果と予測された結果を比較します。

結果から、23個の真のポジティブと33個の真のネガティブが見られます。 私たちの場合、真陽性とは、個人が糖尿病であると正しく予測するモデルを指します。 対照的に、真のネガティブとは、個人が糖尿病ではないと正しく予測するモデルを指します。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

私たちの場合、適合率と再現率は重要な指標です。 精度は基本的に、糖尿病を患っていると予測されるすべての個人を測定しますが、実際に糖尿病を患っている人は何人ですか? 対照的に、リコールは実際に糖尿病を患っているすべての個人を測定するのに役立ちますが、何人が糖尿病を患っていると予測されましたか? たとえば、できるだけ多くの個人を治療したいので、高精度のモデルを使用したい場合があります。特に、治療の最初の段階が糖尿病のない個人に影響を与えない場合(これらは偽陽性です。実際にはそうではありません)。

また、ROC曲線(AUC)グラフの下の領域をプロットして、結果を評価します。 AUCが高いほど、モデルはクラスを区別するのに優れています。この場合、モデルは糖尿病のある患者とない患者を区別するのにどれだけうまく機能しますか。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。

まとめ

この投稿では、データラングラーとオートパイロットを使用して、データ処理、エンジニアリング、モデル構築を統合する方法を示しました。 データラングラーのユーザーインターフェイスから直接、オートパイロットを使用してモデルを簡単にトレーニングおよび調整する方法を強調しました。 この統合機能を使用すると、コードを記述せずに、特徴エンジニアリングの完了後にモデルをすばやく構築できます。 次に、オートパイロットの最適なモデルを参照して、SageMakerPythonSDKでAutoMLクラスを使用してバッチ予測を実行しました。

Data WranglerやAutopilotなどのローコードおよびAutoMLソリューションは、堅牢なMLモデルを構築するための深いコーディング知識の必要性を排除します。 データラングラーの使用を開始する 今日、を使用してMLモデルを構築することがいかに簡単であるかを体験してください SageMakerオートパイロット.


著者について

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。ピーター・チョン はAWSのソリューションアーキテクトであり、お客様がデータから洞察を発見できるよう支援することに情熱を注いでいます。 彼は、組織が公共部門と民間部門の両方でデータ主導の意思決定を行うのに役立つソリューションを構築してきました。 彼は、すべてのAWS認定とXNUMXつのGCP認定を保持しています。 彼はコーヒーを飲み、料理をし、活動を続け、家族と過ごす時間を楽しんでいます。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。プラディープレディ は、SageMaker Autopilot、SageMaker AutomaticModelTunerを含むSageMakerLow/ NoCodeMLチームのシニアプロダクトマネージャーです。 仕事以外では、Pradeepは、ラズベリーパイなどの手のひらサイズのコンピューターやその他のホームオートメーション技術を使って、読書、ランニング、オタクを楽しんでいます。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。アルンプラサト・シャンカール は、AW​​Sの人工知能と機械学習(AI / ML)スペシャリストソリューションアーキテクトであり、世界中のお客様がクラウドでAIソリューションを効果的かつ効率的に拡張できるよう支援しています。 余暇には、SF映画を見たり、クラシック音楽を聴いたりしています。

Amazon SageMakerDataWranglerとAmazonSageMakerAutopilot PlatoBlockchainDataIntelligenceを使用した統合データ準備とモデルトレーニング。 垂直検索。 愛。スルジャン・ゴプ は、SageMakerローコード/ノーコードMLのシニアフロントエンドエンジニアであり、オートパイロットおよびキャンバス製品の顧客を支援しています。 コーディングをしていないとき、Srujanは犬のMaxと一緒に走り、オーディオブックやVRゲームの開発を楽しんでいます。

タイムスタンプ:

より多くの AWS機械学習