すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:データの準備と前処理

最終更新日:Jul 22, 2024

ほとんどの場合、モデルのビルドとテストに必要なデータを準備して前処理する必要があります。 準備されたデータは、モデル開発のビジネス要件に基づいて処理されます。 このトピックでは、Machine Learning Platform for AI (PAI) でデータを準備して前処理する方法について説明します。 この例では、PAIによって提供される公開データが使用される。

前提条件

パイプラインが作成されます。 詳細については、「データの準備」をご参照ください。

手順1: パイプライン設定ページに移動します

  1. PAIコンソール にログインします。左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。 [ワークスペース] ページで、表示するワークスペースの名前をクリックします。

  2. ワークスペースページの左側のナビゲーションウィンドウで、モデル开発とトレーニング > ビジュアルモデリング (デザイナー)機械学習デザイナーページに移動します。

  3. [Visualized Modeling (Designer)] ページで、作成したパイプラインを選択し、開く.

ステップ2: データを準備する

この例では、心臓病の症例に関するPAIによって提供される公開データが使用される。 [テーブルの読み取り] コンポーネントを使用すると、テーブルを作成したり、テーブルにデータを書き込んだりすることなく、パブリックデータを読み取ることができます。

説明

ほとんどの場合、データを開発するときに、MaxComputeまたはObject Storage Service (OSS) でテーブルを準備する必要があります。 次に、[テーブルの読み取り][テーブルの書き込み][ファイルデータの読み取り] などのデータソース /ターゲットコンポーネントを使用して、テーブルにデータを照会または書き込みする必要があります。 詳細については、「Component reference: data sourceまたはdestination」のトピックをご参照ください。

43a466b14a69a9811948b46d83377753.png

  1. 左側のコンポーネントリストで、検索ボックスにキーワードを入力して、テーブルを読むコンポーネントを使用します。

  2. [テーブルの読み取り] コンポーネントを右側のキャンバスにドラッグします。 Read Table-1という名前のパイプラインノードが自動的に生成されます。

  3. [Read Table-1] コンポーネントをクリックします。 キャンバスの右側のウィンドウにある [テーブルの選択] タブで、[テーブル名] パラメーターをpai_online_project.heart_disease_predictionに設定します。 これにより、心臓病の症例に関する公開データを読み取ることができます。

    キャンバスの右側のウィンドウにある [フィールド情報] タブをクリックして、パブリックデータの列の詳細を表示することもできます。

ステップ3: データの前処理

この例では、心臓病症例に関する公開データが生データとして使用され、生データのすべてのフィールド値が前処理の間に正規化される。 フィールド値を正規化するには、次の手順を実行します。

  1. SQL文を使用して、生データ内のすべての非数値フィールドを数値フィールドに変換します。 これにより、前処理後のすべてのフィールドが数値フィールドになります。

  2. 列のデータをDouble型に変換します。 これにより、データが正規化の要件を満たすことが保証されます。

  3. テーブルのすべての列の値を正規化します。

次のセクションでは、操作について説明します。

  1. 非数値フィールドを数値フィールドに変換します。2701eea1a4d4a49c8892983094eceffa.png

    1. 左側のコンポーネントリストで、検索ボックスにキーワードを入力して、SQLスクリプトコンポーネントを使用します。

    2. SQL Scriptコンポーネントを右側のキャンバスにドラッグします。 SQL Script-1という名前のパイプラインノードが自動的に生成されます。

    3. [Read Table-1] ノードからSQL Script-1ノードのt1入力ポートに線を引きます。 これにより、SQL Script-1ノードのt1入力ポートが、Read Table-1ノードの下流ノードとして設定されます。

    4. SQL Script-1ノードを選択します。 右側のウィンドウの [パラメーターの設定] タブで、t1が [入力ソース] フィールドに自動的に入力されます。 次に、SQLスクリプトコードエディターに次のSQLコードを入力します。

      select age,
      (case sex when 'male' then 1 else 0 end) as sex,
      (case cp when 'angina' then 0  when 'notang' then 1 else 2 end) as cp,
      trestbps,
      chol,
      (case fbs when 'true' then 1 else 0 end) as fbs,
      (case restecg when 'norm' then 0  when 'abn' then 1 else 2 end) as restecg,
      thalach,
      (case exang when 'true' then 1 else 0 end) as exang,
      oldpeak,
      (case slop when 'up' then 0  when 'flat' then 1 else 2 end) as slop,
      ca,
      (case thal when 'norm' then 0  when 'fix' then 1 else 2 end) as thal,
      (case status  when 'sick' then 1 else 0 end) as ifHealth
      from  ${t1};
      説明

      SQL Script -1ノードには、t1、t2、t3、t4の4つの入力ポートがあります。 上記のサンプルコードでは、${t1} はt1が使用されていることを示します。 別の入力ポートを使用する場合、SQL Script-1ノードの [パラメーター設定] タブの [入力ソース] フィールドにポート名が自動的に入力されます。 この場合、上記のコードでポートを変更する必要があります。

    5. キャンバスの上部にある [実行] アイコンの运行をクリックします。 Read Table-1ノードとSQL Script-1ノードは順番に実行されます。

  2. すべての列のデータをDouble型に変換します。

    b4e7bb3e15838f4bfd46dcdec8eb60d6.png

    1. 左側のコンポーネントリストで、検索ボックスにキーワードを入力して、データ型の変換コンポーネントを使用します。

    2. [データ型変換] コンポーネントを右側のキャンバスにドラッグします。 Data Type Conversion-1という名前のパイプラインノードが自動的に生成されます。

    3. SQLスクリプト-1ノードからデータ型変換-1への線を引く

    4. キャンバスで [データ型変換-1] コンポーネントをクリックします。 右側のウィンドウの [フィールド設定] タブで、[ダブルタイプの列に変換] セクションの [フィールドの選択] をクリックし、すべての列を選択して、列内のデータを [ダブルタイプに変換します。

  3. フィールド値を正規化します。

    bbd133ada39f2d0da5853c21ee08e5b7.png

    1. 左側のコンポーネントリストで、検索ボックスにキーワードを入力して、正規化コンポーネントを使用します。

    2. 正規化コンポーネントを右側のキャンバスにドラッグします。 Normalization-1という名前のパイプラインノードが自動的に生成されます。

    3. データ型変換-1ノードから正規化-1への線を引く

    4. キャンバスでNormalization-1コンポーネントをクリックします。 右側のウィンドウの [フィールドの設定] タブで、すべての列を選択します。

  4. 左側のコンポーネントリストで、検索ボックスにキーワードを入力して、分割コンポーネントを検索します。 [分割] コンポーネントを右側のキャンバスにドラッグします。 Normalization-1ノードから生成されるSplit-1ノードに線を引きます。

    デフォルトでは、Splitコンポーネントは、生データをモデルトレーニングセットとモデル予測セットに4:1の比率で分割します。 比率を変更するには、[分割] コンポーネントをクリックし、[パラメーター設定] タブで [分割率] パラメーターを設定します。

  5. キャンバスの上部ツールバーで、保存をクリックします。

手順4: パイプラインのデバッグと実行

キャンバス上で [データ型変換-1] コンポーネントを右クリックし、[ここから実行] を選択してパイプラインを実行します。 582b14cc7ac747572e4f2f445ec374a5.pngシステムは、パイプライン内のコンポーネントを順番に実行します。 ノードが期待どおりに実行されると、ノードボックスにアイコンが表示さ运行成功れます。 期待どおりに実行されているノードを右クリックし、[データの表示] を選択して、出力データが正しいかどうかを確認できます。

説明

パイプラインが複雑な場合は、パイプラインにノードを追加するたびにパイプラインを保存して実行できます。 ノードの実行に失敗した場合は、ノードを右クリックし、[ログの表示] を選択して障害のトラブルシューティングを行います。

次のステップ

データを前処理した後、データを視覚化する必要があります。 詳細については、「データ可視化」をご参照ください。