目次

Search

  1. はじめに
  2. Informatica Data Engineering Integrationについて
  3. マッピング
  4. マッピングの最適化
  5. ソース
  6. ターゲット
  7. トランスフォーメーション
  8. Pythonトランスフォーメーション
  9. データプレビュー
  10. クラスタワークフロー
  11. プロファイル
  12. 監視
  13. 階層データ処理
  14. 階層データ処理設定
  15. スキーマが変更された階層データの処理
  16. インテリジェント構造モデル
  17. ブロックチェーン
  18. ステートフルコンピューティング
  19. 付録 A: 接続リファレンス
  20. 付録 B: データ型リファレンス
  21. 付録 C: 関数リファレンス

ユースケース: トレーニング済みモデルを操作可能にする

ユースケース: トレーニング済みモデルを操作可能にする

あなたは製薬会社に勤めていて、心疾患の治療を改善できるよう、研究でジギタリスの花成に関するデータを調査しています。疾患の推移で一般的なジギタリス
Digitalis purpurea
とケジギタリス
Digitalis lanata
のどちらが良好な予後になるのかを見つけようとしています。
研究を実施するには、花のガクと花弁の長さと幅に関するデータを花の種別に分類する必要があります。データを分類するため、Developer toolの外部でトレーニング済みモデルを開発しました。
このトレーニング済みモデルをDeveloper toolで動作できるようにします。Developer toolで、パッシブPythonトランスフォーメーションを含むマッピングを作成します。このPythonトランスフォーメーションでは、トレーニング済みモデルをリソースファイルとしてリストします。トレーニング済みモデルにアクセスするPythonスクリプトを記述します。花のガクと花弁に関するデータをPythonトランスフォーメーションに渡して、ジギタリスの種別にデータを分類します。
次の図は、作成することになるマッピングを示しています。
この図はDeveloper toolにおけるマッピングを示しています。マッピングには読み取りトランスフォーメーション、Pythonトランスフォーメーション、および書き込みトランスフォーメーションが含まれます。読み取りトランスフォーメーションには、sepal_length、sepal_width、petal_length、petal_width、true_classの各ポートが含まれます。ポートはダウンストリームのPythonトランスフォーメーションにリンクされています。これらのポートはPythonトランスフォーメーションの入力ポートです。出力ポートは、入力ポートに基づいてPythonトランスフォーメーションに設定されます。Pythonトランスフォーメーションの出力ポートは、ダウンストリームの書き込みトランスフォーメーションにリンクされています。
パッシブPythonトランスフォーメーションでは次のコンポーネントを使用します。
リソースファイル
トレーニング済みモデルのパスをリソースファイルとして指定します。
例えば、次のパスのファイル
foxgloveDataMLmodel.pkl
に保存されたトレーニング済みモデルを使用します。
/data/home/dtmqa/data/foxgloveDataMLmodel.pkl
Pythonコード
[入力前]タブと[入力時]タブにPythonコードを指定します。
ライブラリのインポート、リソースファイルのロード、変数の初期化を行う場合は、[入力前]タブを使用します。
例えば、[入力前]タブに次のコードを入力します。
from sklearn import svm from sklearn.externals import joblib import numpy as np clf = joblib.load(resourceFileArrays[0]) classes = ['common', 'woolly']
[入力時]タブには、データの各行を評価する際にPythonトランスフォーメーションがどのようにトレーニング済みモデルを使用するかを定義します。
例えば、[入力時]タブに次のコードを入力します。
input = [sepal_length, sepal_width, petal_length, petal_width] input = np.array(input).reshape(1,-1) pred = clf.predict(input) predicted_class = classes[pred[0]] sepal_length_out = sepal_length sepal_width_out = sepal_width petal_length_out = petal_length petal_width_out = petal_width true_class_out = true_class
Pythonトランスフォーメーションは、Pythonコードに従って入力ポートのデータを処理し、そのデータを出力ポートに書き込みます。