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 or StatelessPreprocessor or StatefulPreprocessor

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
load_with_operation_rule(dirpath, train_id)[source]

ストレージに永続化されているStatefulPreprocessorをPipelineに復元するためのメソッド

Parameters:
  • dirpath (str) – ストレージのパス
  • train_id (str) – train_id
process(df_train, df_test)[source]

Pipelineに含まれるPreprocessorのprocessを順次直列に実行するためのメソッド

Parameters:
  • df_train (pandas.DataFrame) – 訓練データセットが持つ説明変数
  • df_test (pandas.DataFrame or None) – テストデータセットが持つ説明変数
Returns:

tuple(pandas.DataFrame, pandas.DataFrame) object

class akebono.preprocessor.StatelessPreprocessor[source]

状態を持たないPreprocessor

process(df_train, df_test)[source]

前処理を実行するためのメソッド

Parameters:
  • df_train (pandas.DataFrame) – 訓練データセットが持つ説明変数
  • df_test (pandas.DataFrame or None) – テストデータセットが持つ説明変数
Returns:

tuple(pandas.DataFrame, pandas.DataFrame) object

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

reset()[source]

前処理実体を初期化するメソッド

set_operation_mode(mode)[source]

operation_modeを設定するメソッド

Parameters:mode (str) – 設定可能な値は train or predict
value

前処理実体

class akebono.preprocessor.Identify[source]

入力データをそのまま返すPreprocessor

process(df_train, df_test)[source]

前処理を実行するためのメソッド

Parameters:
  • df_train (pandas.DataFrame) – 訓練データセットが持つ説明変数
  • df_test (pandas.DataFrame or None) – テストデータセットが持つ説明変数
Returns:

tuple(pandas.DataFrame, pandas.DataFrame) object

class akebono.preprocessor.SelectColumns(columns=[])[source]

入力データから、指定したカラムのみを選択して返すPreprocessor

Parameters:columns (list[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

class akebono.preprocessor.ExcludeColumns(columns=[])[source]

入力データから、指定したカラムのみを除外して返すPreprocessor

Parameters:columns (list[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

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

reset()[source]

前処理実体を初期化するメソッド

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

reset()[source]

前処理実体を初期化するメソッド

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
base_init_finished()[source]

self.__init__() の終了後に実行されるメソッド

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(X)[source]

予測結果を返すメソッド

Parameters:X (numpy array-like) – 説明変数
Returns:numpy array object
predict_proba(X)[source]

予測結果(確率)を返すメソッド

Parameters:X (numpy array-like) – 説明変数
Returns:numpy array object
reset()[source]

モデルの初期化に用いるメソッド

Returns:WrappedModel 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) – 予測結果が格納されるカラム名

Settings

akebono.settings.apply(config)[source]

configを適用するための関数

Parameters:config (python module object) – akebonoの設定
akebono.settings.reset()[source]
akebono.settings.get_train_configs()[source]

train_configのリストを返す関数

Returns:list[dict]
akebono.settings.get_predict_configs()[source]

predict_configのリストを返す関数

Returns:list[dict]