Skip to main content

プロバイダ

プロバイダは、IntegratedML の共通インタフェース内でアクセスできる強力な機械学習フレームワークです。トレーニングに使用するプロバイダを選択するには、目的のプロバイダを指定する ML 構成を選択します。

USING 節を使用して、これらのプロバイダに固有の追加のパラメータを渡すことができます。詳細は、"トレーニング・パラメータの追加 (USING 節)" を参照してください。

AutoML

AutoML はインターシステムズが開発した自動機械学習システムで、InterSystems IRIS® データ・プラットフォームに収容されています。AutoML は、モデルを迅速にトレーニングして正確な結果を生成します。また、AutoML は基本的な自然言語処理 (NLP) を備えているため、プロバイダは構造化されていないテキストを含む特徴列を機械学習モデルにすばやく組み込むことができます。

%AutoML は IntegratedML のシステムの既定の ML 構成で、AutoML をプロバイダとして指しています。

AutoML を使用するには、Python 3.11 以降を使用するようにインスタンスを構成する必要があります。サポートされている Python のバージョンを使用するようにインスタンスを構成する方法については、"フレキシブル Python ランタイム機能の使用" を参照してください。

AutoML のインストール

AutoML は、pip でインストールする Python パッケージです。インストール可能な AutoML には、intersystems-iris-automlintersystems-iris-automl-tf の 2 つのバージョンがあります。intersystems-iris-automl-tfTensorFlowOpens in a new tab を使用して、機械学習モデルの構築を支援します。このインストールされたモジュールは iris_automl と呼ばれます。

InterSystems IRIS のインスタンスに intersystems-iris-automl パッケージをインストールするには、コマンド行から以下のコマンドを実行します。

python -m pip install --index-url https://registry.intersystems.com/pypi/simple --no-cache-dir --target <your installation directory>\mgr\python intersystems-iris-automl

InterSystems IRIS のインスタンスに intersystems-iris-automl-tf パッケージをインストールするには、コマンド行から以下のコマンドを実行します。

python -m pip install --index-url https://registry.intersystems.com/pypi/simple --no-cache-dir --target <your installation directory>\mgr\python intersystems-iris-automl-tf

トレーニング・パラメータ — AutoML

USING 節を使用して、トレーニング・パラメータを渡すことができます。例えば、以下のようにすることができます。

TRAIN MODEL my-model USING {"seed": 3}

AutoML では、以下のパラメータをトレーニング・クエリに渡すことができます。

トレーニング・パラメータ 説明
seed 乱数ジェネレータを初期化するためのシード。複数のトレーニング実行での再現性を実現するために、シードとして任意の整数を手動で設定できます。既定では、seed は “None” に設定されます。
verbosity トレーニング実行出力の詳細度を指定します。この出力は ML_TRAINING_RUNS ビューで確認できます。verbosity には以下のいずれかのオプションを指定できます。
  • 0 — 最小または出力なし。

  • 1 — 中程度の出力。

  • 2 — すべての出力。verbosity の既定の設定です。

TrainMode 分類モデルでのモデル選択のメトリックを指定します。TrainMode には以下のいずれかのオプションを指定できます。
  • TIME” — モデルの選択で、より短いトレーニング時間を優先します。

  • BALANCE” — モデルの選択で、モデルのスコアとトレーニング時間との比率が等しいかどうかによって各モデルを比較します。

  • SCORE” — モデルの選択で、トレーニングの実行時間を考慮しません。TrainMode の既定の設定です。

これらの各種モードの詳細は、"AutoML リファレンス" を参照してください。
MaxTime トレーニングの実行を開始するために割り当てる時間値 (分)。これによって必ずしもトレーニング時間が制限されるわけではありません。例えば、MaxTime を 3,000 分に設定していて、あるモデルのトレーニング後に 2 分残っていれば別のモデルをトレーニングできます。既定では、MaxTime14400 分に設定されています。
Note:

このパラメータは、TrainMode を “TIME” に設定している場合にのみ適用できます。

MinimumDesiredScore 選択したトレーニング・モードに関係なく、分類モデルの選択で許可する最小スコア。0 ~ 1 の範囲で任意の値を設定できます。既定では、MinimumDesiredScore は 0 に設定されています。
Note:

このパラメータは、TrainMode を “TIME” に設定している場合にのみ適用できます。

トレーニングしたロジスティック回帰モデルまたはランダム・フォレスト分類子モデルのスコアが MinimumDesiredScore を超える場合、AutoML ではニューラル・ネットワーク・モデルがトレーニングされません。分類モデルに使用する各種モデルの詳細は、"AutoML リファレンス" を参照してください。

IsRegression AutoML が回帰タスクと分類タスクのどちらを実行するかを指定します。1 (回帰タスクの場合) と 0 (分類タスクの場合) の 2 つの値があります。

IsRegression を省略した場合、あるいは 0 または 1 以外の値を設定した場合は、AutoML がどのタイプのタスクを実行するかを決定します。

特徴量エンジニアリング

AutoML では、特徴量エンジニアリングを使用して既存の特徴を変更し、新しい特徴を作成し、不要な特徴を削除します。これらのステップによって、トレーニングの速度とパフォーマンスが向上します。

  • 列タイプの分類により、モデルで特徴を正しく使用できます

  • 特徴量削減により、冗長性が排除され、正確性が向上します

  • カテゴリカル特徴の One-hot エンコーディング

  • 不完全なデータセットの欠落値/Null 値の入力

  • 必要に応じて、時間/日/月/年に関連する新しい列を作成し、時間に関連するデータから洞察を生み出します。

モデルの選択

回帰モデルが適切であると判断された場合、AutoML は回帰モデルを開発するための単一プロセスを使用します。

分類モデルの場合、AutoML は以下の選択プロセスを使用して、最も正確なモデルを決定します。

  1. データセットが大きすぎる場合、AutoML はデータをダウン・サンプル (圧縮) して、モデル選択プロセスを高速化します。モデルの選択後は、引き続き完全なデータセットがトレーニングに使用されます。

  2. 適切なスコアリング・メトリックを使用するために、AutoML はデータセットに二項分類の問題があるかどうか、または複数のクラスがあるかどうかを確認します。

  3. AutoML はモンテカルロ交差検証を使用して、データセット全体のトレーニングのための最適なスコアリング・メトリックを持つモデルを選択します。

Note:

このモデル選択プロセスの詳細は、"AutoML リファレンス" を参照してください。

プラットフォームのサポートと既知の問題

サポートされるプラットフォーム

AutoML プロバイダは、以下のプラットフォームではサポートされていません。

  • IBM AIX® プラットフォーム

  • Red Hat Enterprise Linux 8 (ARM)

  • Ubuntu 20.04 または Ubuntu 24.04 (ARM)

pip バージョンの要件

AutoML をインストールするには、20.3 以降の pip バージョンが必要です。既定では、Python バージョン 3.8.x または 3.9.0 ~ 3.9.2 ではこのバージョンの pip を使用しないため、AutoML を正しくインストールするには、pip を手動で 20.3 以降にアップグレードする必要があります。

pip のバージョンを更新するには、以下のコマンドを実行します。

pip install --upgrade pip
AutoML と Embedded Python パッケージの分離

AutoML は Python を使用して実装されていますが、AutoML Python パッケージと Embedded Python パッケージとの分離が不適切になることがあります。その結果、AutoML が正しく動作するために必要なパッケージが見つからないことがあります。この問題を回避するには、InterSystems IRIS インスタンスで Python の sys.path<path to instance>/lib/automl を追加します。そのためには、%SYS.Python.Shell()Opens in a new tab で Python シェルを開き、以下のコマンドを入力します。

import sys
sys.path.append("<path to instance>\\lib\\automl")

さらに、Windows の場合、AutoML では Python 3.11 を使用する必要があります。

詳細情報

AutoML の仕組みの詳細は、"AutoML リファレンス" を参照してください。

PMML

IntegratedML は PMML コンシューマとしての PMML をサポートしており、SQL を使用して PMML モデルを容易にインポートおよび実行できます。

IntegratedML での PMML モデルの動作の仕組み

他のプロバイダと同様に、CREATE MODEL 文を使用して、特徴やラベルを含むモデル定義を指定します。このモデル定義には、PMML モデルに含まれるものと同じ特徴とラベルが含まれている必要があります。

TRAIN MODEL 文の動作は異なります。TRAIN MODEL 文はデータを “トレーニング” する代わりに、PMML モデルをインポートします。PMML モデルによって、特徴やラベルの情報を含め、トレーニングされたモデルのプロパティが提示されるため、トレーニングは不要です。このモデルは、USING 節によって識別されます。

Important:

モデル定義で指定した特徴列およびラベル列は、PMML モデルの特徴列およびラベル列と一致する必要があります。

CREATE MODEL 文と TRAIN MODEL 文のどちらにも FROM 節が必要ですが、指定されたデータは一切使用されません。

“トレーニングされた” PMML モデルを使用した予測は、IntegratedML のその他のトレーニングされたモデルと同様に機能します。PREDICT 関数は、PMML 定義と一致する特徴列を含むどのデータでも使用することができます。

PMML モデルのインポート方法

PMML モデルを使用するには、事前に %PMML を ML 構成として設定するか、PROVIDERPMML を指す別の ML 構成を選択する必要があります。

PMML モデルは、USING 節を使用して指定できます。以下のいずれかのパラメータを選択できます。

クラス名による

"class_name" パラメータを使用して、PMML モデルのクラス名を指定できます。例を以下に示します。

USING {"class_name" : "IntegratedML.pmml.PMMLModel"}
ディレクトリ・パスによる

"file_name" パラメータを使用して、PMML モデルへのディレクトリ・パスを指定できます。例を以下に示します。

USING {"file_name" : "C:\temp\mydir\pmml_model.xml"}

以下の例では、USING 節を渡して PMML モデルを指定する複数のメソッドを示しています。

ML 構成での PMML モデルの指定

以下の一連の文では、ファイル名によって住宅価格の PMML モデルを指定する PMML 構成を作成し、その後 TRAIN MODEL 文でモデルをインポートします。

CREATE ML CONFIGURATION pmml_configuration PROVIDER PMML USING {"file_name" : "C:\PMML\pmml_house_model.xml"}
SET ML CONFIGURATION pmml_configuration
CREATE MODEL HousePriceModel PREDICTING (Price) WITH (TotSqft numeric, num_beds integer, num_baths numeric)
TRAIN MODEL HousePriceModel FROM HouseData
SELECT * FROM NewHouseData WHERE PREDICT(HousePriceModel) > 500000
TRAIN MODEL 文での PMML モデルの指定

以下の一連の文では、指定された %PMML 構成を使用し、TRAIN MODEL 文でクラス名によって PMML モデルを指定します。

SET ML CONFIGURATION %PMML
CREATE MODEL HousePriceModel PREDICTING (Price) WITH (TotSqft numeric, num_beds integer, num_baths numeric)
TRAIN MODEL HousePriceModel FROM HouseData USING {"class_name" : "IntegratedML.pmml.PMMLHouseModel"}
SELECT * FROM NewHouseData WHERE PREDICT(HousePriceModel) > 500000

その他のパラメータ

PMML ファイルに複数のモデルが含まれる場合、IntegratedML では、既定でファイル内の最初のモデルが使用されます。ファイル内の別のモデルを指す場合は、USING 節で model_name パラメータを使用します。

TRAIN MODEL my_pmml_model FROM data USING {"class_name" : my_pmml_file, "model_name" : "model_2_name"}
FeedbackOpens in a new tab