akebono API documentation for developers¶
Dataset¶
-
akebono.dataset.
get_dataset
(dataset_config)[source]¶ Datasetを生成するための関数
Parameters: dataset_config (dict) – Datasetについての設定 Returns: Dataset
object- Usage:
>>> from akebono.dataset import get_dataset >>> dataset_config = { 'loader_config': { 'name': 'make_regression@akebono.dataset.generator.sklearn', 'kwargs': { 'n_features': 1, 'noise': 30.0, 'random_state': 0, }, }, 'target_column': 'target', 'cache_enabled': False, } >>> ds = get_dataset(dataset_config) >>> ds <akebono.dataset.model.Dataset object at 0x11291acc0>
-
class
akebono.dataset.
Dataset
(fname, value, target_column, evacuated_columns)[source]¶ Dataset class
-
get_predictor_target
()[source]¶ Datasetが管理するデータの説明変数と目的変数のtupleを返す
Dataset生成時に目的変数が設定されていない場合は例外発生
Returns: tuple(pandas.DataFrame, pandas.Series) object
-
value
¶ Datasetが管理するデータの実体
Returns: pandas.DataFrame object
-
Preprocessor¶
-
akebono.preprocessor.
get_preprocessor
(preprocessor_config, pipeline_enabled=True)[source]¶ Preprocessorを生成するための関数
Parameters: - preprocessor_config (list or dict) – Preprocessorについての設定
- pipeline_enabled – PreprocessorPipelineを有効にするかどうかのフラグ
Returns: PreprocessorPipeline
orStatelessPreprocessor
orStatefulPreprocessor
-
class
akebono.preprocessor.
PreprocessorPipeline
(preprocessors)[source]¶ 複数のPreprocessor連結を抽象化するためのクラス
-
dump_with_operation_rule
(dirpath, train_id)[source]¶ Pipelineに含まれるStatefulPreprocessorを永続化するためのメソッド
Parameters: - dirpath (str) – ストレージのパス
- train_id (str) – train_id
-
-
class
akebono.preprocessor.
StatefulPreprocessor
[source]¶ 状態を持つPreprocessor
-
dump
(dirpath, name)[source]¶ Preprocessorをストレージに永続化するためのメソッド
Parameters: - dirpath (str) – ストレージのパス
- name (str) – ファイル名
-
load
(dirpath, name)[source]¶ ストレージに永続化されてるPreprocessorを復元するためのメソッド
Parameters: - dirpath (str) – ストレージのパス
- name (str) – ファイル名
-
process
(df_train, df_test)[source]¶ 前処理を実行するためのメソッド
Parameters: - df_train (pandas.DataFrame) – 訓練データセットが持つ説明変数
- df_test (pandas.DataFrame or None) – テストデータセットが持つ説明変数
Returns: tuple(pandas.DataFrame, pandas.DataFrame) object
-
set_operation_mode
(mode)[source]¶ operation_modeを設定するメソッド
Parameters: mode (str) – 設定可能な値は train or predict
-
value
¶ 前処理実体
-
-
class
akebono.preprocessor.
SelectColumns
(columns=[])[source]¶ 入力データから、指定したカラムのみを選択して返すPreprocessor
Parameters: columns (list[str]) – 選択対象カラム名のリスト
-
class
akebono.preprocessor.
ExcludeColumns
(columns=[])[source]¶ 入力データから、指定したカラムのみを除外して返すPreprocessor
Parameters: columns (list[str]) – 選択対象カラム名のリスト
-
class
akebono.preprocessor.
ApplyStandardScaler
(init_kwargs={}, columns='all')[source]¶ 入力データを正規化するPreprocessor
Parameters: - init_kwargs (dict) – 前処理実体の初期化パラメータ
- columns (list[str] or str) – 正規化する対象のカラム名
-
process
(df_train, df_test)[source]¶ 前処理を実行するためのメソッド
Parameters: - df_train (pandas.DataFrame) – 訓練データセットが持つ説明変数
- df_test (pandas.DataFrame or None) – テストデータセットが持つ説明変数
Returns: tuple(pandas.DataFrame, pandas.DataFrame) object
-
set_operation_mode
(mode)¶ operation_modeを設定するメソッド
Parameters: mode (str) – 設定可能な値は train or predict
-
value
¶ 前処理実体
-
class
akebono.preprocessor.
ApplyPca
(init_kwargs={})[source]¶ 入力データにPCAをかけるPreprocessor
Parameters: init_kwargs – 前処理実体の初期化パラメータ :type dict
-
process
(df_train, df_test)[source]¶ 前処理を実行するためのメソッド
Parameters: - df_train (pandas.DataFrame) – 訓練データセットが持つ説明変数
- df_test (pandas.DataFrame or None) – テストデータセットが持つ説明変数
Returns: tuple(pandas.DataFrame, pandas.DataFrame) object
-
set_operation_mode
(mode)¶ operation_modeを設定するメソッド
Parameters: mode (str) – 設定可能な値は train or predict
-
value
¶ 前処理実体
-
Model¶
-
akebono.model.
get_model
(model_config)[source]¶ Modelを生成するための関数
Parameters: model_config (dict) – Modelについての設定 Returns: WrappedModel
object- Usage:
>>> from akebono.model import get_model >>> model_config = { 'name': 'SklearnRandomForestClassifier', 'init_kwargs': {}, 'fit_kwargs': {}, 'evaluate_kwargs': { 'cross_val_iterator': 'KFold@sklearn.model_selection', }, 'pos_index': 1, 'is_rebuild': False, } >>> model = get_model(model_config) >>> model <akebono.model._models.sklearn.WrappedSklearnRandomForestClassifier object at 0x1006c0b00>
-
class
akebono.model.
WrappedModel
(init_kwargs={}, fit_kwargs={}, evaluate_kwargs={}, pos_index=None)[source]¶ WrappedModel interface
Parameters: - init_kwargs (dict) – モデル実体の初期化時に渡されるパラメータ
- fit_kwargs (dict) – モデル実体の訓練時に渡されるパラメータ
- evaluate_kwargs (dict) – モデルの評価時に渡されるパラメータ
- pos_index (int or None) – モデル実体が確率を返す予測(predict_proba)をした場合の、正例に相当するindex
-
dump
(dirpath, name)[source]¶ モデルをストレージに永続化するためのメソッド
Parameters: - dirpath (str) – ストレージのパス
- name (str) – ファイル名
-
evaluate
(X, y, preprocessor, format_func_for_predictor, format_func_for_target)[source]¶ モデルを評価するためのメソッド
Parameters: - X (numpy array-like) – 説明変数
- y (numpy array-like) – 目的変数
- preprocessor (StatefulPreprocessor or StatelessPreprocessor) – Preprocessor object
- format_func_for_predictor (function) – 説明変数を整形するための関数
- format_func_for_target (function) – 目的変数を整形するための関数
Returns: list
-
fit
(X, y)[source]¶ モデルの訓練に用いるメソッド
Parameters: - X (numpy array-like) – 説明変数
- y (numpy array-like) – 目的変数
Returns: WrappedModel object
-
load
(dirpath, name)[source]¶ ストレージに永続化されてるモデルを復元するためのメソッド
Parameters: - dirpath (str) – ストレージのパス
- name (str) – ファイル名
-
predict_proba
(X)[source]¶ 予測結果(確率)を返すメソッド
Parameters: X (numpy array-like) – 説明変数 Returns: numpy array object
-
set_model_type
(y=None, model_type=None)[source]¶ モデルのタイプを設定するためのメソッド
Parameters: - y (numpy array-like) – 目的変数
- model_type (str) – モデルのタイプ。設定可能値は、binary_classifier or multiple_classifier or regressor
-
value
¶ モデルの実体
Operator¶
-
akebono.operator.
train
(train_id, scenario_tag, dataset_config=None, model_config=None, preprocessor_config=None, formatter_config_for_predictor=None, formatter_config_for_target=None, evaluate_enabled=False, fit_model_enabled=False, dump_result_enabled=False)[source]¶ モデルの訓練を実行する関数
Parameters: - train_id (str) – シナリオ中における訓練実行の識別子
- scenario_tag (str) – シナリオに付与されるタグ
- dataset_config (dict) – Datasetの設定。
akebono.dataset.get_dataset
の引数。 - model_config (dict) – Modelの設定。
akebono.model.get_model
の引数。 - preprocessor_config (dict) – Preprocessorの設定。
akebono.preprocessor.get_preprocessor
の引数。 - formatter_config_for_predictor (dict) – 特徴用Formatterの設定。
- formatter_config_for_target (dict) – 目標用Formatterの設定。
- evaluate_enabled (bool) – モデルの評価を実行するかのフラグ
- fit_model_enabled (bool) – モデルの訓練を実行するかのフラグ
- dump_result_enabled (bool) – モデル、評価結果の永続化を実行するかのフラグ
-
akebono.operator.
predict
(predict_id, scenario_tag, method_type='predict', dataset_config=None, train_id='0', dump_result_enabled=False, append_evacuated_columns_enabled=False, dumper_config={}, result_target_columns='all', result_predict_column='predicted')[source]¶ 予測を実行する関数
Parameters: - predict_id (str) – シナリオ中における予測実行の識別子
- scenario_tag (str) – シナリオに付与されるタグ
- method_type (str) – 予測のタイプ。設定可能なタイプは predict or predict_proba
- dataset_config (dict) – Datasetの設定。
akebono.dataset.get_dataset
の引数。 - train_id (str) – 予測で使うモデルのtrain_id
- dump_result_enabled (bool) – 予測結果の永続化を実行するかのフラグ
- append_evacuated_columns_enabled (bool) – Dataset中で退避したカラムをpredictの結果に加えるかを決めるフラグ
- dumper_config (dict) – 予測結果の設定。
- result_target_columns (str or list(str)) – 予測結果に含めるべき説明変数のカラム名のリスト。全ての場合は’all’とする
- result_predict_column (str) – 予測結果が格納されるカラム名