構成

SapientMLクラスのコンストラクタは、プラグインのインストールに応じてさまざまなパラメータを使用します。 ここでは、各model_typeが割り当てられている場合に、SapientMLのコンストラクタで割り当てることができるパラメータを示します。

モデルタイプ

sapientmlは、機械学習モデルと前処理コンポーネントを利用して、sapientmlの元のアルゴリズムとは異なるソースコードを生成するためのプラグインメカニズムを提供します。 各プラグインには一意のmodel_typeがあり、ユーザーはSapientMLクラスのコンストラクタのパラメータとしてその中の1つを選択できます。 model_typeのデフォルト値はsapientmlで、これはsapientml_coreプラグインによって提供されます。

使用可能なmodel_typeのリストです。

  • sapientml: pip install sapientml
  • fujitsu-automl: pip install --extra-index-url https://sapientml.azure-api.net/pypi fujitsu-automl
  • timeseries-forcast: pip install --extra-index-url https://sapientml.azure-api.net/pypi fujitsu-automl-timeseries
  • timeseries-static-classification: pip install --extra-index-url https://sapientml.azure-api.net/pypi fujitsu-automl-timeseries
  • timeseries-regression: pip install --extra-index-url https://sapientml.azure-api.net/pypi fujitsu-automl-timeseries
  • model-selector: pip install --extra-index-url https://sapientml.azure-api.net/pypi fujitsu-automl-selector

sapientmlのパラメータ

  • target_columns (list[str]):
    • 目的変数列の名前。
  • task_type ('classification', 'regression', or None) = None:
    • タスクの種類を分類または回帰から指定するか、Noneに設定されている場合は自動的に提案します。
  • adaptation_metric (str) = 'f1' if task_type is 'classification', 'r2' if 'regression':
    • Metric-評価用のメトリック。f1aucROC_AUCaccuracyGiniLogLossMCC (Matthews相関係数)、QWK (Quadratic weighted kappa) が分類に使用できます。回帰にはr2RMSLERMSEMAEを使用できます。
  • split_method ('random', 'time', or 'group') = 'random':
    • トレイン・テスト・スプリットの方法。randomはランダムスプリットを使用します。timeにはsplit_column_nameが必要です。これにより、列に基づいてデータ行が並べ替えられ、データが分割されます。groupにはsplit_column_nameが必要です。これにより、split_column_nameの同じ値を持つ行がトレーニングデータとテストデータの両方に配置されないように、データが分割されます。
  • split_seed (int) = 17:
    • トレーニング-テスト分割のランダムシード。split_method='time'の場合は無視されます。
  • split_train_size (float) = 0.75:
    • 入力データに対するトレーニングサイズの比率。split_method='time'の場合は無視されます。
  • split_column_name (str or None) = None:
    • 分割に使用される列の名前。split_method='random'の場合は無視されます。
  • time_split_num (int) = 5:
    • TimeSeriesSplitn_splitsに渡されます。split_method='time'の場合にのみ有効です。
  • time_split_index (int) = 4:
    • TimeSeriesSplitからの分割のインデックス。split_method='time'の場合にのみ有効です。
  • split_stratification (bool or None) = None:
    • トレーニング-テスト分割で層化を実行します。task_type='classification'の場合にのみ有効です。
  • initial_timeout (int) = 600:
    • 生成された各スクリプトを実行する時間制限。 hyperparameter_tuning=Trueおよびhyperparameter_tuning_timeoutが設定されている場合は無視されます。
  • timeout_for_test (int) = 0:
    • テストスクリプト (final_script) と可視化を実行する時間制限。
  • cancel (CancellationToken or None) = None:
    • 評価を中断するオブジェクト。
  • project_name (str or None) = None:
    • プロジェクト名。
  • debug (bool) = False:
    • デバッグモードかどうか。
  • use_pos_list (list[str]) = ["名詞", "動詞", "助動詞", "形容詞", "副詞"]:
    • テキスト分析中に使用される品詞の一覧。 この変数は、日本語テキストの分析に使用されます。 下の品詞を選択してください。 「名詞」、「動詞」、「形容詞」、「形容動詞」、「副詞」です。
  • use_word_stemming (bool) = True:
    • 単語のステミングを使用するかどうかを指定します。 この変数は、日本語テキストの分析に使用されます。
  • n_models (int) = 3:
    • 試行する出力モデルの数。
  • seed_for_model (int) = 42:
    • RandomForestClassifier-RandomForestClassifierなどのモデルのランダムシード。
  • id_columns_for_prediction (list[str] or None) = None:
    • 予測結果を出力するデータフレーム列の名前。
  • use_word_list (list[str], dict[str, list[str]], or None) = None:
    • テキストから説明変数を生成するときに特徴として使用される単語のリスト。 辞書型を指定する場合、キーは列名でなければならず、値は単語のリストでなければなりません。
  • hyperparameter_tuning (bool) = False:
    • ハイパーパラメーターのチューニングのオン/オフ。
  • hyperparameter_tuning_n_trials (int) = 10:
    • trials-ハイパーパラメーターのチューニングの試行回数。
  • hyperparameter_tuning_timeout (int) = 0:
    • 生成された各スクリプトでのハイパーパラメーターのチューニングの制限時間。 hyperparameter_tuningFalseの場合は無視されます。
  • hyperparameter_tuning_random_state (int) = 1023:
    • ハイパーパラメーターのチューニングのためのランダムシード。
  • predict_option ('default' or 'probability') = 'default':
    • 予測メソッドの指定(デフォルト:predict ()、確率:predict_proba ()。)
  • permutation_importance (bool) = True:
    • 順列重要度計算コード出力のON/OFF。
  • add_explanation (bool) = False
    • Trueの場合、EDAと説明を含むipynbファイルを出力します。

fujitsu-automlのパラメータ

  • target_columns (list [str] ):
    • 目的変数列の名前。
  • task_type ('classification', 'regression', or None) = None:
    • タスクの種類を分類または回帰から指定するか、Noneに設定されている場合は自動的に提案します。
  • adaptation_metric (str) = 'f1' if task_type is 'classification', 'r2' if 'regression':
    • Metric-評価用のメトリック。f1aucROC_AUCaccuracyGiniLogLossMCC (Matthews相関係数)、QWK (Quadratic weighted kappa) が分類に使用できます。回帰にはr2RMSLERMSEMAEを使用できます。
  • split_method ('random'、'time'、or 'group') = 'random':
    • トレイン・テスト・スプリットの方法。randomはランダムスプリットを使用します。timeにはsplit_column_nameが必要です。これにより、列に基づいてデータ行が並べ替えられ、データが分割されます。groupにはsplit_column_nameが必要です。これにより、split_column_nameの同じ値を持つ行がトレーニングデータとテストデータの両方に配置されないように、データが分割されます。
  • split_seed (int) = 17:
    • トレーニング-テスト分割のランダムシード。split_method='time'の場合は無視されます。
  • split_train_size (float) = 0.75:
  • 入力データに対するトレーニングサイズの比率。split_method='time'の場合は無視されます。
  • split_column_name (str or None) = None:
  • 分割に使用される列の名前。split_method='random'の場合は無視されます。
  • time_split_num (int) = 5:
    • TimeSeriesSplitn_splitsに渡されます。split_method='time'の場合にのみ有効です。
  • time_split_index (int) = 4:
    • TimeSeriesSplitからの分割のインデックス。split_method='time'の場合にのみ有効です。
  • split_stratification (bool or None) = None:
    • トレーニング-テスト分割で層化を実行します。task_type='classification'の場合にのみ有効です。
  • initial_timeout (int) = 600:
    • 生成された各スクリプトを実行する時間制限。 hyperparameter_tuning=Trueおよびhyperparameter_tuning_timeoutが設定されている場合は無視されます。
  • timeout_for_test (int) = 0:
    • テストスクリプト (final_script) と可視化を実行する時間制限。
  • cancel (CancellationToken or None) = None:
    • 評価を中断するオブジェクト。
  • project_name (str or None) = None:
    • プロジェクト名。
  • debug (bool) = False:
    • デバッグモードかどうか。
  • use_pos_list (list[str]) = ["名詞", "動詞", "助動詞", "形容詞", "副詞"]:
    • テキスト分析中に使用される品詞の一覧。 この変数は、日本語テキストの分析に使用されます。 下の品詞を選択してください。 「名詞」、「動詞」、「形容詞」、「形容動詞」、「副詞」です。
  • use_word_stemming (bool) = True:
    • 単語のステミングを使用するかどうかを指定します。 この変数は、日本語テキストの分析に使用されます。
  • n_models (int) = 3:
    • 試行する出力モデルの数。
  • seed_for_model (int) = 42:
    • RandomForestClassifier-RandomForestClassifierなどのモデルのランダムシード。
  • id_columns_for_prediction (list [str] or None) = None:
    • 予測結果を出力するデータフレーム列の名前。
  • use_word_list (list [str], dict [str, list [str]], or None) = None:
    • テキストから説明変数を生成するときに特徴として使用される単語のリスト。 辞書型を指定する場合、キーは列名でなければならず、値は単語のリストでなければなりません。
  • hyperparameter_tuning (bool) = False:
    • ハイパーパラメーターのチューニングのオン/オフ。
  • hyperparameter_tuning_n_trials (int) = 10:
    • trials-ハイパーパラメーターのチューニングの試行回数。
  • hyperparameter_tuning_timeout (int) = 0:
    • 生成された各スクリプトでのハイパーパラメーターのチューニングの制限時間。 hyperparameter_tuningFalseの場合は無視されます。
  • hyperparameter_tuning_random_state (int) = 1023:
    • ハイパーパラメーターのチューニングのためのランダムシード。
  • predict_option ('default'or'probability') ='default':
    • 予測メソッドの指定(デフォルト:predict ()、確率:predict_proba ()。)
  • permutation_importance (bool) = True:
    • 順列重要度計算コード出力のON/OFF。
  • add_explanation (bool) = False:
    • Trueの場合、EDAと説明を含むipynbファイルを出力します。

timeseries-forcastのパラメータ

  • target_columns (list [str] ):
    • 目的変数列の名前。
  • id_columns:list [str]:
    • 異なる系列を区別するためのId列。
  • time_column:str:
    • 時間列の名前。
  • series_columns:list [str]:
    • 時系列の値を記述する列。
  • prediction_frequency (Union [str, pd.DateOffset, pd.Timedelta] or None) = None:
    • 予測時間の頻度。 prediction_frequencyが設定されていない場合は、test_dataframeを使用してprediction_frequencyを設定します。 test_dataframeまたはprediction_frequencyの少なくとも1つを設定する必要があります。
  • earliest_prediction_time : Union[str, datetime] or None, default None:
    • 古すぎるデータを削除する最も早い予測時間。
  • target_range_begin (Union [str, pd.DateOffset, pd.Timedelta] or None) = None:
    • target_timeがprediction_timeから始まる場合のオフセット (包括的) 。
  • target_range_end (Union [str, pd.DateOffset, pd.Timedelta] or None) = None:
    • target_timeがprediction_timeから終了するときのオフセット (排他) 。
  • feature_specs_list (list [dict] or None) = None:
    • 機能の仕様。 各辞書には、次のキーを含めることができます。
  • windows:list [str]:
    • フィーチャを計算するためのウィンドウ。 strの形式は、"{time}"または"{time}-{time}" ("3d"や"1y-2y"など) です。 時間の形式は"{int}{unit}"です。単位は'y'、'mon'、'w'、'd'、'h'、'min'、's'、または'ms'です。 "{time1}-{time2}"の場合、ウィンドウは [prediction_time-time2, prediction_time-time1] 。 "{time}"の場合、ウィンドウは [prediction_time-time, prediction_time] 。 指定しない場合は、既定のウィンドウが使用されます。 ウィンドウの左の値は包括的で、右の値は排他的です。
  • functions (list[str]) = ["max", "min", "mean"]:
    • 集計関数。 指定しない場合は、["max", "min", "mean"]が使用されます。
  • groupby_columns_list : list[list[str or (str, bool)]]:
    • groupbyの列名リスト。 指定しない場合は、[id_col] が指定されます。 列は、task_dfとdata_dfの両方に含まれている必要があります。 機能が列に展開される場合は、ブール値がTrueに設定されます。 boolを指定すると、Falseが設定されます。 例: [['item_id', 'store_id'], [('item_id', False), ('store_state', True)]]
  • feature_selection (bool) = True:
    • 機能の選択を実行するかどうか。
  • reference_prediction:bool:
    • 参照情報として自己相関で予測するかどうか。
  • time_split_num (int) = 5:
    • TimeSeriesSplitn_splitsに渡されます。
  • time_split_index (int) = 4:
    • TimeSeriesSplitからの分割のインデックス。
  • initial_timeout (int) = 600:
    • 生成された各スクリプトを実行する時間制限。 hyperparameter_tuning=Trueおよびhyperparameter_tuning_timeoutが設定されている場合は無視されます。
  • timeout_for_test (int) = 0:
    • テストスクリプト (final_script) と可視化を実行する時間制限。
  • cancel (CancellationToken or None) = None:
    • 評価を中断するオブジェクト。
  • project_name (str or None) = None:
    • プロジェクト名。
  • debug (bool) = False:
    • デバッグモードかどうか。
  • use_pos_list (list[str]) = ["名詞", "動詞", "助動詞", "形容詞", "副詞"]:
    • 品詞-テキスト分析中に使用される品詞の一覧。 この変数は、日本語テキストの分析に使用されます。 下の品詞を選択してください。 「名詞」、「動詞」、「形容詞」、「形容動詞」、「副詞」です。
  • use_word_stemming (bool) = True:
    • 単語のステミングを使用するかどうかを指定します。 この変数は、日本語テキストの分析に使用されます。
  • n_models (int) = 3:
    • 試行する出力モデルの数。
  • seed_for_model (int) = 42:
    • RandomForestClassifier-RandomForestClassifierなどのモデルのランダムシード。
  • id_columns_for_prediction (list [str] or None) = None:
    • 予測結果を出力するデータフレーム列の名前。
  • use_word_list (list [str], dict [str, list [str]], or None) = None:
    • テキストから説明変数を生成するときに特徴として使用される単語のリスト。 辞書型を指定する場合、キーは列名でなければならず、値は単語のリストでなければなりません。
  • hyperparameter_tuning (bool) = False:
    • ハイパーパラメーターのチューニングのオン/オフ。
  • hyperparameter_tuning_n_trials (int) = 10:
    • trials-ハイパーパラメーターのチューニングの試行回数。
  • hyperparameter_tuning_timeout (int) = 0:
    • 生成された各スクリプトでのハイパーパラメーターのチューニングの制限時間。 hyperparameter_tuningFalseの場合は無視されます。
  • hyperparameter_tuning_random_state (int) = 1023:
    • ハイパーパラメーターのチューニングのためのランダムシード。
  • predict_option ('default'or'probability') = 'default':
    • 予測メソッドの指定(デフォルト:predict ()、確率:predict_proba ()。)
  • permutation_importance (bool) = True:
    • 順列重要度計算コード出力のON/OFF。
  • add_explanation (bool) = False:
    • Trueの場合、EDAと説明を含むipynbファイルを出力します。

timeseries-static-classificationのパラメータ

  • target_columns (list [str]):
    • 目的変数列の名前。
  • id_columns:list [str]:
    • 異なる系列を区別するためのId列。
  • time_column:str:
    • 時間列の名前。 columnの型は、int、float、またはstrでなければなりません。
  • series_columns:list [str]:
    • 時系列の値を記述する列。
  • static_columns (list [str] or None) = None:
    • 定数値の列名。
  • to_datetime_unit (str) = 's':
    • 時間に変換するときの時間の単位。
  • window_width (float) = 3.0:
    • フィーチャを抽出するためのウィンドウのサイズ。
  • window_stride (float) = 3.0
    • ウィンドウの歩幅。
  • functions (Optional [list [str] ] ) = None:
    • 時系列特徴を計算するための関数。 例:「min」、「max」、「mean」
  • padding: (float) = 0.0
    • Timeseries-データセット内の短いtimeseriesの末尾に埋め込まれる値。埋め込み後の長さは、データセット内の最も長いものと同じになります。
  • task_type (str) = 'classification':
    • 「classification」でなければなりません。
  • adaptation_metric (str) = 'f1':
    • Metric-評価用のメトリック。f1aucROC_AUCaccuracyGiniLogLossMCC (Matthews相関係数)、QWK (Quadratic weighted kappa) が使用可能です。
  • split_method ('random'、'time'、or 'group') = 'random':
    • トレイン・テスト・スプリットの方法。randomはランダムスプリットを使用します。timeにはsplit_column_nameが必要です。これにより、列に基づいてデータ行が並べ替えられ、データが分割されます。groupにはsplit_column_nameが必要です。これにより、split_column_nameの同じ値を持つ行がトレーニングデータとテストデータの両方に配置されないように、データが分割されます。
  • split_seed (int) = 17:
    • トレーニング-テスト分割のランダムシード。split_method='time'の場合は無視されます。
  • split_train_size (float) = 0.75:
  • 入力データに対するトレーニングサイズの比率。split_method='time'の場合は無視されます。
  • split_column_name (str or None) = None:
    • 分割に使用される列の名前。split_method='random'の場合は無視されます。
  • time_split_num (int) = 5:
    • TimeSeriesSplitn_splitsに渡されます。split_method='time'の場合にのみ有効です。
  • time_split_index (int) = 4:
    • TimeSeriesSplitからの分割のインデックス。split_method='time'の場合にのみ有効です。
  • split_stratification (bool or None) = None:
    • トレーニング-テスト分割で層化を実行します。task_type='classification'の場合にのみ有効です。
  • initial_timeout (int) = 600:
    • 生成された各スクリプトを実行する時間制限。 hyperparameter_tuning=Trueおよびhyperparameter_tuning_timeoutが設定されている場合は無視されます。
  • テストのタイムアウト (int) = 0:
    • テストスクリプト (final_script) と可視化を実行する時間制限。
  • cancel (CancellationToken or None) = None:
    • 評価を中断するオブジェクト。
  • project_name (str or None) = None:
    • プロジェクト名。
  • debug (bool) = False:
    • デバッグモードかどうか。
  • use_pos_list (list[str]) = ["名詞", "動詞", "助動詞", "形容詞", "副詞"]:
    • テキスト分析中に使用される品詞の一覧。 この変数は、日本語テキストの分析に使用されます。 下の品詞を選択してください。 「名詞」、「動詞」、「形容詞」、「形容動詞」、「副詞」です。
  • use_word_stemming (bool) = True:
    • 単語のステミングを使用するかどうかを指定します。 この変数は、日本語テキストの分析に使用されます。
  • n_models (int) = 3:
    • 試行する出力モデルの数。
  • seed_for_model (int) = 42:
    • RandomForestClassifier-RandomForestClassifierなどのモデルのランダムシード。
  • id_columns_for_prediction (list [str] or None) = None:
    • 予測結果を出力するデータフレーム列の名前。
  • use_word_list (list [str], dict [str, list [str]], or None) = None:
    • テキストから説明変数を生成するときに特徴として使用される単語のリスト。 辞書型を指定する場合、キーは列名でなければならず、値は単語のリストでなければなりません。
  • hyperparameter_tuning (bool) = False:
    • ハイパーパラメーターのチューニングのオン/オフ。
  • hyperparameter_tuning_n_trials (int) = 10:
    • trials-ハイパーパラメーターのチューニングの試行回数。
  • hyperparameter_tuning_timeout (int) = 0:
    • 生成された各スクリプトでのハイパーパラメーターのチューニングの制限時間。 hyperparameter_tuningFalseの場合は無視されます。
  • hyperparameter_tuning_random_state (int) = 1023:
    • ハイパーパラメーターのチューニングのためのランダムシード。
  • predict_option ('default'or'probability') ='default':
    • 予測メソッドの指定(デフォルト:predict ()、確率:predict_proba ()。)
  • permutation_importance (bool) = True:
    • 順列重要度計算コード出力のON/OFF。
  • add_explanation (bool) = False:
    • Trueの場合、EDAと説明を含むipynbファイルを出力します。

timeseries-regressionのパラメータ

  • target_columns (list [str]):
    • 目的変数列の名前。
  • id_columns:list [str]:
    • 異なる系列を区別するためのId列。
  • time_column:str:
    • 時間列の名前。
  • series_columns:list [str]:
    • 時系列の値を記述する列。
  • apply_log1p:bool:
    • series_columnsにlog1pを適用するかどうか。
  • diff_orders : Union[str, list, None]:
    • 確率的傾向を削除するための差分の順序。 "auto"の場合、pmdarimaのモジュールを使用して自動的に順序を決定します。 List [int] の場合、指定された順序はすべてのseries_columnsに適用されます。 {"ID1": {"col1":[1,2], "col2":[6,12]}, "ID2":{...}, }などの辞書の場合、 指定された順序は、指定されたIDの指定された列に適用されます。 Noneの場合、区別は適用されません。
  • alpha:float:
    • ADF試験及びLjun-Box試験の実施に用いた有意水準。
  • time_split_num (int) = 5:
    • TimeSeriesSplitn_splitsに渡されます。
  • time_split_index (int) = 4:
    • TimeSeriesSplitからの分割のインデックス。
  • initial_timeout (int) = 600:
    • 生成された各スクリプトを実行する時間制限。 hyperparameter_tuning=Trueおよびhyperparameter_tuning_timeoutが設定されている場合は無視されます。
  • timeout_for_test (int) = 0:
    • テストスクリプト (final_script) と可視化を実行する時間制限。
  • cancel (CancellationToken or None) = None:
    • 評価を中断するオブジェクト。
  • project_name (str or None) = None:
    • プロジェクト名。
  • debug (bool) = False:
    • デバッグモードかどうか。
  • use_pos_list (list[str]) = ["名詞", "動詞", "助動詞", "形容詞", "副詞"]:
    • テキスト分析中に使用される品詞の一覧。 この変数は、日本語テキストの分析に使用されます。 下の品詞を選択してください。 「名詞」、「動詞」、「形容詞」、「形容動詞」、「副詞」です。
  • use_word_stemming (bool) = True:
    • 単語のステミングを使用するかどうかを指定します。 この変数は、日本語テキストの分析に使用されます。
  • n_models (int) = 3:
    • 試行する出力モデルの数。
  • seed_for_model (int) = 42:
    • RandomForestClassifier-RandomForestClassifierなどのモデルのランダムシード。
  • id_columns_for_prediction (list [str] or None) = None:
    • 予測結果を出力するデータフレーム列の名前。
  • use_word_list (list [str], dict [str, list [str]], or None) = None:
    • テキストから説明変数を生成するときに特徴として使用される単語のリスト。 辞書型を指定する場合、キーは列名でなければならず、値は単語のリストでなければなりません。
  • hyperparameter_tuning (bool) = False:
    • ハイパーパラメーターのチューニングのオン/オフ。
  • hyperparameter_tuning_n_trials (int) = 10:
    • trials-ハイパーパラメーターのチューニングの試行回数。
  • hyperparameter_tuning_timeout (int) = 0:
    • 生成された各スクリプトでのハイパーパラメーターのチューニングの制限時間。 hyperparameter_tuningFalseの場合は無視されます。
  • hyperparameter_tuning_random_state (int) = 1023:
    • ハイパーパラメーターのチューニングのためのランダムシード。
  • predict_option ('default'or'probability') ='default':
    • 予測メソッドの指定(デフォルト:predict ()、確率:predict_proba ()。)
  • permutation_importance (bool) = True:
    • 順列重要度計算コード出力のON/OFF。
  • add_explanation (bool) = False:
    • Trueの場合、EDAと説明を含むipynbファイルを出力します。