AutoAI ライブラリー ( Python
Python 用の
ライブラリには、 IBM watsonx.ai Runtime AutoAI 実験とのやり取りを支援する一連の関数が含まれている。 autoai-lib
ライブラリーを使用して、パイプラインの作成で行われるデータ変換を検討して編集できます。 同様に、 autoai-lib
ライブラリーを使用して、時系列実験のためにパイプライン・ノートブックと対話することができます。autoai-ts-libs
Python 用の autoai-lib または autoai-ts-libs のインストール
カスタム・ライブラリーのインストール の説明に従って、
または autoai-lib
をインストールします。autoai-ts-libs
Python の autoai-lib および autoai-ts-libs の使用
Python 用の
と autoai-lib
ライブラリには、 AutoAI の実験と連動するための関数が含まれている。 autoai-ts-libs
ライブラリーを使用して、分類パイプラインおよび回帰パイプラインの作成時に行われるデータ変換を確認および編集できます。 autoai-lib
ライブラリーを使用して、時系列 (予測) パイプラインの作成時に行われるデータ変換を確認できます。autoai-ts-libs
Python 用の autoai-lib および autoai-ts-libs のインストール
カスタムライブラリのインストール 」の手順に従って、 autoai-lib と autoai-ts-libs をインストールします。
ライブラリー・レベルのロギングの構成
要件に合わせてライブラリー・ロガー
を構成できます。 例えば、警告やエラー処理などのログの詳細をカスタマイズするために、ハンドラーを定義して付加したり、フィルターを構成したりすることができます。autoai_libs
構成を更新しないと、ロギングのデフォルトの動作になります。 例えば、重大度が警告以上 (警告、エラー、クリティカル) のメッセージは、特別なフォーマット設定を行わずに
(標準エラー) に出力されます。 例えば、警告メッセージは、特別なフォーマットなしで WARNING と表示されます。 ロギングの設定方法の詳細や、設定例については、 autoai-libのドキュメントを参照してください。stderr
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)
オプション | 説明 |
---|---|
|
ストリング圧縮のタイプ。 ストリングからスペースを削除する場合は「string」、int ハッシュを作成する場合は「hash」。 デフォルトは「string」です。 'hash' は、ストリングと cat_imp_strategy = 'most_Frequent' を持つ列に使用されます。 |
|
入力 numpy 配列 X の各列のタイプを示すストリングを含むリスト (ストリングは、「char_str」、「int_str」、「float_str」、「float_num」、「float_int_num」、「int_num」、「boolean」、「Unknown」のいずれかです)。 「なし」の場合、列の型が検出されます。 デフォルトは「なし」です。 |
|
list には、入力 numpy 配列 X の各列の欠損値のリストが含まれます。なしの場合、各列の欠損値が検出されます。 デフォルトは「なし」です。 |
|
入力 numpy 配列 X の欠落値の参照リスト |
|
この変換プログラムがアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。 |
autoai_libs.transformers.exportable.NumpyReplaceMissingValues()
numpy 配列とそれに対する欠損値の参照リストが指定されると、欠損値を特殊値 (通常は np.nan などの特殊欠損値) に置き換えます。
使用方法:
autoai_libs.transformers.exportable.NumpyReplaceMissingValues(missing_values, filling_values=np.nan)
オプション | 説明 |
---|---|
|
欠損値の参照リスト |
|
不明値に割り当てられる特殊値 |
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)
オプション | 説明 |
---|---|
|
各列の既知の値のリストの参照リスト |
|
不明値に割り当てられる特殊値 |
|
欠損値の参照リスト |
autoai_libs.transformers.exportable.boolean2float()
NumPy boolean 配列を float に変換し、欠損値を 1 に置き換えます。 また、配列のタイプを 「object」 から 「float」 に変更します。
使用方法:
autoai_libs.transformers.exportable.boolean2float(activate_flag=True)
オプション | 説明 |
---|---|
|
この変換プログラムがアクティブであることを示すフラグ。 「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)
オプション | 説明 |
---|---|
|
ストリング、オプション、デフォルトは「mean」。 欠損値の代入戦略。 - : 各列の平均値を使用して置換します。 数値データでのみ使用できます。- : 各列の中央値を使用して置換します。 数値データでのみ使用できます。- : 各列に最も頻度の高い値を使用して置換します。 ストリングまたは数値データで使用されます。- : fill_value で置き換えます。 ストリングまたは数値データで使用できます。 |
|
数値、ストリング、np.nan (デフォルト)、または「なし」。 欠損値のプレースホルダー。 出現するすべての missing_values が代入されます。 |
|
バージョン 019 および 020dev との後方互換性のための sklearn バージョンを示すストリング。 現在は使用されていません。 デフォルトは「なし」です。 |
|
この変換プログラムがアクティブであることを示すフラグ。 「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)
オプション | 説明 |
---|---|
|
str、「onehot」、「onehot-dense」、または「ordinal」。 使用するエンコードのタイプ (デフォルトは「ordinal」) 「onehot」: one-hot (one-of-K) スキーム (または「ダミー」エンコードとも呼ばれる) を使用してフィーチャーをエンコードします。 このエンコードにより、カテゴリーごとにバイナリー列が作成され、スパース・マトリックスが返されます。 「onehot-dense」:「onehot」と同じですが、スパース・マトリックスの代わりに高密度配列が返されます。 「ordinal」: フィーチャーを序数整数としてエンコードします。 結果は、機能ごとに整数 (0 から n_categories-1) の単一列になります。 |
|
「auto」 または値のリスト / 配列のリスト。 特徴量ごとのカテゴリー (固有値): 「自動」: トレーニング・データからカテゴリーを自動的に決定します。 : は、必要なカテゴリーを ith 列に保持します。 渡されるカテゴリーはソートする必要があり、ストリングと数値を混在させることはできません。 使用されるカテゴリーは、 属性で見つけられます。 |
|
数値型、デフォルトは np.float64、出力の望ましいデータ・タイプ (dtype)。 |
|
「error」(デフォルト) または「ignore」。 変換中に不明なカテゴリー特徴量が存在する場合に、エラーを発生させるか無視するかを示します (デフォルトでは、エラーを発生させます)。 このパラメーターが「ignore」に設定されていて、変換中に不明なカテゴリーが検出された場合、このフィーチャーの結果の 1 つのホット・エンコード列はすべてゼロになります。 逆変換では、不明なカテゴリーは「なし」と表示されます。 に対して、不明なカテゴリーを無視することがサポートされていません。 |
|
バージョン 019 および 020dev との後方互換性のための sklearn バージョンを示すストリング。 現在は使用されていません。 デフォルトは「なし」です。 |
|
この変圧器がアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。 |
autoai_libs.transformers.exportable.float32_transform()
float64 numpy 配列を float32 に変換します。
使用方法:
autoai_libs.transformers.exportable.float32_transform(activate_flag=True)
オプション | 説明 |
---|---|
|
この変換プログラムがアクティブであることを示すフラグ。 「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)
オプション | 説明 |
---|---|
|
list には、入力 numpy 配列 X の各列のタイプを示すストリングが含まれます (ストリングは、「char_str」、「int_str」、「float_str」、「float_num」、「float_int_num」、「int_num」、「Boolean」、「Unknown」のいずれかです)。 |
|
欠損値の参照リスト |
|
この変換プログラムがアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。 |
autoai_libs.transformers.exportable.NumImputer()
このメソッドは、数値代入のラッパーです。
使用方法:
autoai_libs.transformers.exportable.NumImputer(strategy, missing_values, activate_flag=True)
オプション | 説明 |
---|---|
|
num_imp_strategy: ストリング、オプション (デフォルト = "mean ")。 代入戦略: -「平均値」の場合は、軸に沿った平均値を使用して欠損値を置換します。 -「中央値」の場合は、軸に沿った中央値を使用して欠損値を置換します。 -「most_Frequent」の場合は、軸に沿った最も頻度の高い値を使用して欠損値を置換します。 |
|
整数または「NaN」、オプション (デフォルトは「NaN」)。 欠損値のプレースホルダー。 missing_valuesのすべての出現がインプットされる np.nanとしてエンコードされた欠損値には、文字列値“NaN” この変換器がアクティブであることを示すフラグを使用する。 「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)
オプション | 説明 |
---|---|
|
ブール値、オプション、デフォルトは「True」。 「False」の場合は、コピーを避け、代わりにインプレース・スケーリングを試行してください。 このアクションは、常に機能することが保証されているわけではありません。 例えば、インプレースでは、データが NumPy 配列でも scipy.sparse CSR マトリックスでもない場合でも、コピーが返される可能性があります。 |
|
ブール値、デフォルトでは「True」。 「True」の場合は、スケーリングする前にデータを中央揃えします。 疎行列に対して試行すると例外が発生します。中央揃えを行うと、高密度行列が作成されるためです。一般的なユース・ケースでは、メモリーに収まるには大きすぎる可能性があります。 |
|
ブール値、デフォルトでは「True」。 「True」の場合、データを単位分散 (つまり、単位標準偏差) にスケーリングします。 |
|
ブール値。この変換プログラムがアクティブであることを示すフラグ。 「False」の場合、transform(X) は未変更の入力 numpy 配列 X を出力します。 デフォルトは「True」です。 |
autoai_libs.transformers.exportable.NumpyPermuteArray()
インデックスのリストに基づいて、numpy 配列の列または行を再配置します。
使用方法:
autoai_libs.transformers.exportable.NumpyPermuteArray(permutation_indices=None, axis=None)
オプション | 説明 |
---|---|
|
再配置される列に基づく索引のリスト |
|
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)
オプション | 説明 |
---|---|
|
関数ポインター |
|
このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名 |
|
トランスフォーマー関数への有効な入力のいずれかであるデータ・タイプのリスト (数値、浮動小数点、整数など) |
|
すべての制約。この変換への有効な入力と見なされるには、列によって満たされる必要があります。 |
|
tgraph オブジェクトは開始 TGraph () でなければなりません オブジェクト。 このパラメーターはオプションであり、「なし」を渡すことができますが、キャッシュの不足により、何らかの非効率性を検出できなくなる可能性があります。 |
|
「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。 |
|
リスト内の特徴量列の名前 |
|
特徴量列のデータ・タイプのリスト |
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)
オプション | 説明 |
---|---|
|
関数ポインター |
: このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名です |
|
|
トランスフォーマー関数への有効な入力 (最初のパラメーター) のいずれかであるデータ・タイプのリスト (数値、浮動小数点、整数など) |
|
すべての制約。この変換への有効な入力 (最初のパラメーター) と見なされるには、列によって満たされる必要があります。 |
|
トランスフォーマー関数への有効な入力 (2 番目のパラメーター) のいずれかであるデータ・タイプのリスト (数値、浮動小数点、int など) |
|
すべての制約。この変換への有効な入力 (2 番目のパラメーター) と見なされるには、列によって満たされる必要があります。 |
|
tgraph オブジェクトは、呼び出し側 TGraph () でなければなりません オブジェクト。 このパラメーターはオプションであり、「なし」を渡すことができますが、キャッシュの不足により非効率性が一部失われます。 |
|
「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。 |
|
リスト内の特徴量列の名前 |
|
特徴量列のデータ・タイプのリスト |
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)
オプション | 説明 |
---|---|
|
変換関数定義に従って および を実装するクラス |
|
このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名 |
|
トランスフォーマー関数への有効な入力のいずれかであるデータ・タイプのリスト (数値、浮動小数点数、整数など) |
|
すべての制約。この変換への有効な入力と見なされるには、列によって満たされる必要があります。 |
|
tgraph オブジェクトは、呼び出し側 TGraph () でなければなりません オブジェクト。 これはオプションであり、「なし」を渡すこともできますが、キャッシュの不足により非効率性がいくらか失われることに注意してください。 |
|
「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。 |
|
リスト内の特徴量列の名前。 |
|
特徴量列のデータ・タイプのリスト。 |
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)
オプション | 説明 |
---|---|
|
変換関数の定義に従って、fit( ) および transform( ) を実装するクラス |
|
このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名 |
|
トランスフォーマー関数への有効な入力 (最初のパラメーター) のいずれかであるデータ・タイプのリスト (数値、浮動小数点、整数など) |
|
すべての制約。この変換への有効な入力 (最初のパラメーター) と見なされるには、列によって満たされる必要があります。 |
|
トランスフォーマー関数への有効な入力 (2 番目のパラメーター) のいずれかであるデータ・タイプのリスト (数値、浮動小数点、int など) |
|
すべての制約。この変換への有効な入力 (2 番目のパラメーター) と見なされるには、列によって満たされる必要があります。 |
|
tgraph オブジェクトは、呼び出し側 TGraph () でなければなりません オブジェクト。 このパラメーターはオプションであり、「なし」を渡すこともできますが、キャッシュの不足により、非効率性の一部が失われます。 |
|
「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)
オプション | 説明 |
---|---|
|
変換関数定義に従って および を実装するクラス |
|
このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名 |
|
tgraph オブジェクトは、呼び出し側 TGraph () でなければなりません オブジェクト。 このパラメーターはオプションであり、「なし」を渡すことができますが、キャッシュの不足により非効率性が一部失われます。 |
|
「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。 |
|
リスト内の特徴量列の名前 |
|
特徴量列のデータ・タイプのリスト |
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)
オプション | 説明 |
---|---|
|
関数ポインター |
|
このトランスフォーマーを他のトランスフォーマーから一意的に識別するストリング名 |
|
関数への入力の数。この例では 1、バイナリーの場合は 2、というようになります。 |
|
各パラメーターの受け入れ可能な入力データ・タイプに対応する arg_count リストのリスト。 前の例では、 `arg_count=1``であるため、結果は外部リスト内の 1 つのリストになり、「numeric」という単一のタイプが含まれます。 別のケースとして、特定のケース「int」またはより具体的なケース「int64」が考えられます。 |
|
入力特徴量の選択に課されるいくつかの制約に対応する arg_count リストのリスト |
|
tgraph オブジェクトは、呼び出し側 TGraph () でなければなりません オブジェクト。 このパラメーターはオプションであり、「なし」を渡すことができますが、キャッシュの不足により非効率性が一部失われます。 |
|
「applyAll = True」のみ使用します。 これは、トランスフォーマーが、指定された基準に一致するすべてのフィーチャー (またはフィーチャー・セット) を列挙し、提供された機能をそれぞれに適用することを意味します。 |
|
リスト内の特徴量列の名前 |
|
特徴量列のデータ・タイプのリスト |
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)
オプション | 説明 |
---|---|
|
特徴量の重要度に関係なく保持する必要がある列のシリアル番号 |
|
保持する必要がある列の数 |
|
分類または回帰 |
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)
オプション | 説明 |
---|---|
|
特徴量の重要度に関係なく保持する必要がある列のシリアル番号 |
|
保持する必要がある列の数 |
|
分類または回帰 |
Autoai-ts-libs 関数
トランスフォーマーと推定量の組み合わせは、 AutoAI 時系列システムによってパイプラインごとに設計され、選択されます。 生成されたパイプライン・ノートブックでトランスフォーマーまたは推定法を変更すると、予期しない結果が発生したり、障害が発生したりする可能性があります。 生成されたパイプラインのノートブックを変更することはお勧めしません。そのため、現時点では、
ライブラリーの関数の仕様は提供されていません。autoai-ts-libs
もっと見る
親トピック: AutoAI で生成されたノートブックの保存