AutoAI ライブラリー ( Python

最終更新: 2025年3月21日
AutoAI ライブラリー ( Python

Python 用の autoai-lib ライブラリには、 IBM watsonx.ai Runtime AutoAI 実験とのやり取りを支援する一連の関数が含まれている。 autoai-lib ライブラリーを使用して、パイプラインの作成で行われるデータ変換を検討して編集できます。 同様に、 autoai-ts-libs ライブラリーを使用して、時系列実験のためにパイプライン・ノートブックと対話することができます。

Python 用の autoai-lib または autoai-ts-libs のインストール

カスタム・ライブラリーのインストール の説明に従って、 autoai-lib または autoai-ts-libsをインストールします。

Python の autoai-lib および autoai-ts-libs の使用

Python 用の autoai-libautoai-ts-libs ライブラリには、 AutoAI の実験と連動するための関数が含まれている。 autoai-lib ライブラリーを使用して、分類パイプラインおよび回帰パイプラインの作成時に行われるデータ変換を確認および編集できます。 autoai-ts-libs ライブラリーを使用して、時系列 (予測) パイプラインの作成時に行われるデータ変換を確認できます。

Python 用の autoai-lib および autoai-ts-libs のインストール

カスタムライブラリのインストール 」の手順に従って、 autoai-libautoai-ts-libs をインストールします。

ライブラリー・レベルのロギングの構成

要件に合わせてライブラリー・ロガー autoai_libs を構成できます。 例えば、警告やエラー処理などのログの詳細をカスタマイズするために、ハンドラーを定義して付加したり、フィルターを構成したりすることができます。

構成を更新しないと、ロギングのデフォルトの動作になります。 例えば、重大度が警告以上 (警告、エラー、クリティカル) のメッセージは、特別なフォーマット設定を行わずに stderr (標準エラー) に出力されます。 例えば、警告メッセージは、特別なフォーマットなしで WARNING と表示されます。 ロギングの設定方法の詳細や、設定例については、 autoai-libのドキュメントを参照してください。

autoai-lib 関数

autoai-lib ライブラリーのインポート後に作成されるインスタンス化されたプロジェクト・オブジェクトは、以下の関数を公開します。

autoai_libs.transformers.exportable.NumpyColumnSelector()

numpy 配列の列のサブセットを選択します。

使用方法:

autoai_libs.transformers.exportable.NumpyColumnSelector(columns=None)
オプション 説明
選択する列索引のリスト

autoai_libs.transformers.exportable.CompressStrings()

入力 numpy 配列 X のストリング列からスペースと特殊文字を削除します。

使用方法:

autoai_libs.transformers.exportable.CompressStrings(compress_type='string', dtypes_list=None, misslist_list=None, missing_values_reference_list=None, activate_flag=True)
オプション 説明
compress_type ストリング圧縮のタイプ。 ストリングからスペースを削除する場合は「string」、int ハッシュを作成する場合は「hash」。 デフォルトは「string」です。 'hash' は、ストリングと cat_imp_strategy = 'most_Frequent' を持つ列に使用されます。
dtypes_list 入力 numpy 配列 X の各列のタイプを示すストリングを含むリスト (ストリングは、「char_str」、「int_str」、「float_str」、「float_num」、「float_int_num」、「int_num」、「boolean」、「Unknown」のいずれかです)。 「なし」の場合、列の型が検出されます。 デフォルトは「なし」です。
misslist_list list には、入力 numpy 配列 X の各列の欠損値のリストが含まれます。なしの場合、各列の欠損値が検出されます。 デフォルトは「なし」です。
missing_values_reference_list 入力 numpy 配列 X の欠落値の参照リスト
activate_flag この変換プログラムがアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。

autoai_libs.transformers.exportable.NumpyReplaceMissingValues()

numpy 配列とそれに対する欠損値の参照リストが指定されると、欠損値を特殊値 (通常は np.nan などの特殊欠損値) に置き換えます。

使用方法:

autoai_libs.transformers.exportable.NumpyReplaceMissingValues(missing_values, filling_values=np.nan)
オプション 説明
missing_values 欠損値の参照リスト
filling_values 不明値に割り当てられる特殊値

autoai_libs.transformers.exportable.NumpyReplaceUnknownValues()

numpy 配列と各列の既知の値の参照リストが指定されると、参照リストに含まれない値を特殊値 (通常は np.nan) に置き換えます。 このメソッドは通常、トレーニング・データ・セットの対応する列に表示されていないテスト・データ・セットの列のラベルを削除するために使用されます。

使用方法:

autoai_libs.transformers.exportable.NumpyReplaceUnknownValues(known_values_list=None, filling_values=None, missing_values_reference_list=None)
オプション 説明
known_values_list 各列の既知の値のリストの参照リスト
filling_values 不明値に割り当てられる特殊値
missing_values_reference_list 欠損値の参照リスト

autoai_libs.transformers.exportable.boolean2float()

NumPy boolean 配列を float に変換し、欠損値を 1 に置き換えます。 また、配列のタイプを 「object」 から 「float」 に変更します。

使用方法:

autoai_libs.transformers.exportable.boolean2float(activate_flag=True)
オプション 説明
activate_flag この変換プログラムがアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。

autoai_libs.transformers.exportable.CatImputer()

このトランスフォーマーは、カテゴリーインピューターのラッパーです。 現在、内部では sklearn  SimpleImputer が使用されます。

使用方法:

autoai_libs.transformers.exportable.CatImputer(strategy, missing_values, sklearn_version_family=global_sklearn_version_family, activate_flag=True)
オプション 説明
strategy ストリング、オプション、デフォルトは「mean」。 欠損値の代入戦略。
-mean: 各列の平均値を使用して置換します。 数値データでのみ使用できます。
- median: 各列の中央値を使用して置換します。 数値データでのみ使用できます。
- most_frequent: 各列に最も頻度の高い値を使用して置換します。 ストリングまたは数値データで使用されます。
- constant: fill_value で置き換えます。 ストリングまたは数値データで使用できます。
missing_values 数値、ストリング、np.nan (デフォルト)、または「なし」。 欠損値のプレースホルダー。 出現するすべての missing_values が代入されます。
sklearn_version_family バージョン 019 および 020dev との後方互換性のための sklearn バージョンを示すストリング。 現在は使用されていません。 デフォルトは「なし」です。
activate_flag この変換プログラムがアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。

autoai_libs.transformers.exportable.CatEncoder()

このメソッドは、カテゴリー・エンコーダーのラッパーです。 エンコード・パラメーターが「ordinal」の場合、内部では現在 sklearn OrdinalEncoderが使用されます。 エンコーディングパラメータが'onehot'、または内部的に'onehot-dense'の場合、sklearnOneHotEncoderを使用します

使用方法:

autoai_libs.transformers.exportable.CatEncoder(encoding, categories, dtype, handle_unknown, sklearn_version_family=global_sklearn_version_family, activate_flag=True)
オプション 説明
encoding str、「onehot」、「onehot-dense」、または「ordinal」。 使用するエンコードのタイプ (デフォルトは「ordinal」)
「onehot」: one-hot (one-of-K) スキーム (または「ダミー」エンコードとも呼ばれる) を使用してフィーチャーをエンコードします。 このエンコードにより、カテゴリーごとにバイナリー列が作成され、スパース・マトリックスが返されます。
「onehot-dense」:「onehot」と同じですが、スパース・マトリックスの代わりに高密度配列が返されます。
「ordinal」: フィーチャーを序数整数としてエンコードします。 結果は、機能ごとに整数 (0 から n_categories-1) の単一列になります。
categories 「auto」 または値のリスト / 配列のリスト。 特徴量ごとのカテゴリー (固有値):
「自動」: トレーニング・データからカテゴリーを自動的に決定します。
list : categories[i] は、必要なカテゴリーを ith 列に保持します。 渡されるカテゴリーはソートする必要があり、ストリングと数値を混在させることはできません。 使用されるカテゴリーは、 encoder.categories_ 属性で見つけられます。
dtype 数値型、デフォルトは np.float64、出力の望ましいデータ・タイプ (dtype)。
handle_unknown 「error」(デフォルト) または「ignore」。 変換中に不明なカテゴリー特徴量が存在する場合に、エラーを発生させるか無視するかを示します (デフォルトでは、エラーを発生させます)。 このパラメーターが「ignore」に設定されていて、変換中に不明なカテゴリーが検出された場合、このフィーチャーの結果の 1 つのホット・エンコード列はすべてゼロになります。 逆変換では、不明なカテゴリーは「なし」と表示されます。 encoding='ordinal'に対して、不明なカテゴリーを無視することがサポートされていません。
sklearn_version_family バージョン 019 および 020dev との後方互換性のための sklearn バージョンを示すストリング。 現在は使用されていません。 デフォルトは「なし」です。
activate_flag この変圧器がアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。

autoai_libs.transformers.exportable.float32_transform()

float64 numpy 配列を float32 に変換します。

使用方法:

autoai_libs.transformers.exportable.float32_transform(activate_flag=True)
オプション 説明
activate_flag この変換プログラムがアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。

autoai_libs.transformers.exportable.FloatStr2Float()

列のタイプを示す numpy 配列 X および dtypes_list を指定すると、浮動小数点を表すストリングの列 (dtypes_list の「float_str」型) を浮動小数点の列に置き換え、その欠落値を np.nan に置き換えます。

使用方法:

autoai_libs.transformers.exportable.FloatStr2Float(dtypes_list, missing_values_reference_list=None, activate_flag=True)
オプション 説明
dtypes_list list には、入力 numpy 配列 X の各列のタイプを示すストリングが含まれます (ストリングは、「char_str」、「int_str」、「float_str」、「float_num」、「float_int_num」、「int_num」、「Boolean」、「Unknown」のいずれかです)。
missing_values_reference_list 欠損値の参照リスト
activate_flag この変換プログラムがアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。

autoai_libs.transformers.exportable.NumImputer()

このメソッドは、数値代入のラッパーです。

使用方法:

autoai_libs.transformers.exportable.NumImputer(strategy, missing_values, activate_flag=True)
オプション 説明
strategy num_imp_strategy: ストリング、オプション (デフォルト = "mean ")。 代入戦略:
-「平均値」の場合は、軸に沿った平均値を使用して欠損値を置換します。
-「中央値」の場合は、軸に沿った中央値を使用して欠損値を置換します。
-「most_Frequent」の場合は、軸に沿った最も頻度の高い値を使用して欠損値を置換します。
missing_values 整数または「NaN」、オプション (デフォルトは「NaN」)。 欠損値のプレースホルダー。 missing_valuesのすべての出現がインプットされる
np.nanとしてエンコードされた欠損値には、文字列値“NaN”
activate_flagこの変換器がアクティブであることを示すフラグを使用する。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。

autoai_libs.transformers.exportable.OptStandardScaler()

このパラメーターは、数値変数のスケーリング用のラッパーです。 現在、sklearn StandardScaler を内部で使用しています。

使用方法:

autoai_libs.transformers.exportable.OptStandardScaler(use_scaler_flag=True, num_scaler_copy=True, num_scaler_with_mean=True, num_scaler_with_std=True)
オプション 説明
num_scaler_copy ブール値、オプション、デフォルトは「True」。 「False」の場合は、コピーを避け、代わりにインプレース・スケーリングを試行してください。 このアクションは、常に機能することが保証されているわけではありません。 例えば、インプレースでは、データが NumPy 配列でも scipy.sparse CSR マトリックスでもない場合でも、コピーが返される可能性があります。
num_scaler_with_mean ブール値、デフォルトでは「True」。 「True」の場合は、スケーリングする前にデータを中央揃えします。 疎行列に対して試行すると例外が発生します。中央揃えを行うと、高密度行列が作成されるためです。一般的なユース・ケースでは、メモリーに収まるには大きすぎる可能性があります。
num_scaler_with_std ブール値、デフォルトでは「True」。 「True」の場合、データを単位分散 (つまり、単位標準偏差) にスケーリングします。
use_scaler_flag ブール値。この変換プログラムがアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。 デフォルトは「True」です。

autoai_libs.transformers.exportable.NumpyPermuteArray()

インデックスのリストに基づいて、numpy 配列の列または行を再配置します。

使用方法:

autoai_libs.transformers.exportable.NumpyPermuteArray(permutation_indices=None, axis=None)
オプション 説明
permutation_indices 再配置される列に基づく索引のリスト
axis 0 列に沿って置換します。 行に沿って 1 つの順列。

特徴量の変換

これらの方法は、 AutoAI 実装の詳細で説明されている特徴量の変換に適用されます。

autoai_libs.cognito.transforms.transform_utils.TA1(fun, name=None, datatypes=None, feat_constraints=None, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)

正方形や対数などの単項ステートレス関数の場合は、 TA1を使用します。

使用方法:

autoai_libs.cognito.transforms.transform_utils.TA1(fun, name=None, datatypes=None, feat_constraints=None, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
オプション 説明
fun 関数ポインター
name このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名
datatypes トランスフォーマー関数への有効な入力のいずれかであるデータ・タイプのリスト (数値、浮動小数点、整数など)
feat_constraints すべての制約。この変換への有効な入力と見なされるには、列によって満たされる必要があります。
tgraph tgraph オブジェクトは開始 TGraph () でなければなりません オブジェクト。 このパラメーターはオプションであり、「なし」を渡すことができますが、キャッシュの不足により、何らかの非効率性を検出できなくなる可能性があります。
apply_all 「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。
col_names リスト内の特徴量列の名前
col_dtypes 特徴量列のデータ・タイプのリスト

autoai_libs.cognito.transforms.transform_utils.TA2()

合計、積などのバイナリー・ステートレス関数の場合は、TA2 を使用します。

使用方法:

autoai_libs.cognito.transforms.transform_utils.TA2(fun, name, datatypes1, feat_constraints1, datatypes2, feat_constraints2, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
オプション 説明
fun 関数ポインター
name: このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名です
datatypes1 トランスフォーマー関数への有効な入力 (最初のパラメーター) のいずれかであるデータ・タイプのリスト (数値、浮動小数点、整数など)
feat_constraints1 すべての制約。この変換への有効な入力 (最初のパラメーター) と見なされるには、列によって満たされる必要があります。
datatypes2 トランスフォーマー関数への有効な入力 (2 番目のパラメーター) のいずれかであるデータ・タイプのリスト (数値、浮動小数点、int など)
feat_constraints2 すべての制約。この変換への有効な入力 (2 番目のパラメーター) と見なされるには、列によって満たされる必要があります。
tgraph tgraph オブジェクトは、呼び出し側 TGraph () でなければなりません オブジェクト。 このパラメーターはオプションであり、「なし」を渡すことができますが、キャッシュの不足により非効率性が一部失われます。
apply_all 「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。
col_names リスト内の特徴量列の名前
col_dtypes 特徴量列のデータ・タイプのリスト

autoai_libs.cognito.transforms.transform_utils.TB1()

例えば、頻繁なカウントなど、単項の状態ベースの変換 (fit/transform を使用) で使用します。

使用方法:

autoai_libs.cognito.transforms.transform_utils.TB1(tans_class, name, datatypes, feat_constraints, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
オプション 説明
tans_class 変換関数定義に従って fit( ) および transform( ) を実装するクラス
name このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名
datatypes トランスフォーマー関数への有効な入力のいずれかであるデータ・タイプのリスト (数値、浮動小数点数、整数など)
feat_constraints すべての制約。この変換への有効な入力と見なされるには、列によって満たされる必要があります。
tgraph tgraph オブジェクトは、呼び出し側 TGraph () でなければなりません オブジェクト。 これはオプションであり、「なし」を渡すこともできますが、キャッシュの不足により非効率性がいくらか失われることに注意してください。
apply_all 「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。
col_names リスト内の特徴量列の名前。
col_dtypes 特徴量列のデータ・タイプのリスト。

autoai_libs.cognito.transforms.transform_utils.TB2()

例えば、グループ化基準など、バイナリーの状態ベースの変換 (fit/transform を使用) で使用します。

使用方法:

autoai_libs.cognito.transforms.transform_utils.TB2(tans_class, name, datatypes1, feat_constraints1, datatypes2, feat_constraints2, tgraph=None, apply_all=True)
オプション 説明
tans_class 変換関数の定義に従って、fit( ) および transform( ) を実装するクラス
name このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名
datatypes1 トランスフォーマー関数への有効な入力 (最初のパラメーター) のいずれかであるデータ・タイプのリスト (数値、浮動小数点、整数など)
feat_constraints1 すべての制約。この変換への有効な入力 (最初のパラメーター) と見なされるには、列によって満たされる必要があります。
datatypes2 トランスフォーマー関数への有効な入力 (2 番目のパラメーター) のいずれかであるデータ・タイプのリスト (数値、浮動小数点、int など)
feat_constraints2 すべての制約。この変換への有効な入力 (2 番目のパラメーター) と見なされるには、列によって満たされる必要があります。
tgraph tgraph オブジェクトは、呼び出し側 TGraph () でなければなりません オブジェクト。 このパラメーターはオプションであり、「なし」を渡すこともできますが、キャッシュの不足により、非効率性の一部が失われます。
apply_all 「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。

autoai_libs.cognito.transforms.transform_utils.TAM()

PCA など、データ・レベルで適用される変換の場合は、TAM を使用します。

使用方法:

autoai_libs.cognito.transforms.transform_utils.TAM(tans_class, name, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
オプション 説明
tans_class 変換関数定義に従って fit( ) および transform( ) を実装するクラス
name このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名
tgraph tgraph オブジェクトは、呼び出し側 TGraph () でなければなりません オブジェクト。 このパラメーターはオプションであり、「なし」を渡すことができますが、キャッシュの不足により非効率性が一部失われます。
apply_all 「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。
col_names リスト内の特徴量列の名前
col_dtypes 特徴量列のデータ・タイプのリスト

autoai_libs.cognito.transforms.transform_utils.TGen()

TGen は汎用ラッパーであり、ほとんどの関数に使用できます (ただし、最も効率的ではない可能性があります)。

使用方法:

autoai_libs.cognito.transforms.transform_utils.TGen(fun, name, arg_count, datatypes_list, feat_constraints_list, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
オプション 説明
fun 関数ポインター
name このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名
arg_count 関数への入力の数。この例では 1、バイナリーの場合は 2、というようになります。
datatypes_list 各パラメーターの受け入れ可能な入力データ・タイプに対応する arg_count リストのリスト。 前の例では、 `arg_count=1``であるため、結果は外部リスト内の 1 つのリストになり、「numeric」という単一のタイプが含まれます。 別のケースとして、特定のケース「int」またはより具体的なケース「int64」が考えられます。
feat_constraints_list 入力特徴量の選択に課されるいくつかの制約に対応する arg_count リストのリスト
tgraph tgraph オブジェクトは、呼び出し側 TGraph () でなければなりません オブジェクト。 このパラメーターはオプションであり、「なし」を渡すことができますが、キャッシュの不足により非効率性が一部失われます。
apply_all 「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。
col_names リスト内の特徴量列の名前
col_dtypes 特徴量列のデータ・タイプのリスト

autoai_libs.cognito.transforms.transform_utils.FS1()

特徴量の選択。タイプ 1 (各特徴量とターゲットの間のペアワイズ相関を使用)。

使用方法:

autoai_libs.cognito.transforms.transform_utils.FS1(cols_ids_must_keep, additional_col_count_to_keep, ptype)
オプション 説明
cols_ids_must_keep 特徴量の重要度に関係なく保持する必要がある列のシリアル番号
additional_col_count_to_keep 保持する必要がある列の数
ptype 分類または回帰

autoai_libs.cognito.transforms.transform_utils.FS2()

特徴量の選択、タイプ 2。

使用方法:

autoai_libs.cognito.transforms.transform_utils.FS2(cols_ids_must_keep, additional_col_count_to_keep, ptype, eval_algo)
オプション 説明
cols_ids_must_keep 特徴量の重要度に関係なく保持する必要がある列のシリアル番号
additional_col_count_to_keep 保持する必要がある列の数
ptype 分類または回帰

Autoai-ts-libs 関数

トランスフォーマーと推定量の組み合わせは、 AutoAI 時系列システムによってパイプラインごとに設計され、選択されます。 生成されたパイプライン・ノートブックでトランスフォーマーまたは推定法を変更すると、予期しない結果が発生したり、障害が発生したりする可能性があります。 生成されたパイプラインのノートブックを変更することはお勧めしません。そのため、現時点では、 autoai-ts-libs ライブラリーの関数の仕様は提供されていません。

もっと見る

AutoAI モデルの選択

親トピック: AutoAI で生成されたノートブックの保存