Skip to content

Adapters

mllabs.adapter.ModelAdapter

Bases: ABC

Abstract base class for ML framework adapters.

Adapters translate ml-labs' unified data format into the framework-specific fit() parameters of each model. Registered by model class name via :func:~mllabs.adapter.register_adapter.

Class Attributes

result_objs (dict): {key: (callable, mergeable_bool)} mapping of extractable model attributes for use with :class:~mllabs.collector.ModelAttrCollector.

get_params(params, logger=None)

모델 생성자에 전달할 파라미터를 조정

Parameters:

Name Type Description Default
params dict

원본 파라미터

required

Returns:

Name Type Description
dict

조정된 파라미터

get_fit_params(data_dict, params=None, logger=None)

모델의 fit()에 전달할 파라미터를 구성

Parameters:

Name Type Description Default
data_dict

{key: (train, train_v), ...} 형태의 데이터 딕셔너리

required
params dict

Processor에서 전달된 추가 파라미터 (Optional, default=None)

None
logger

Logger 인스턴스

None

Returns:

Name Type Description
dict

fit()에 unpacking으로 전달할 파라미터 예: model.fit(**fit_params)

mllabs.adapter.LightGBMAdapter

Bases: ModelAdapter

Adapter for LightGBM models (LGBMClassifier, LGBMRegressor)

LightGBM도 eval_set 파라미터를 사용하지만 약간 다른 방식입니다.

get_params(params, logger=None)

모델 생성자에 전달할 파라미터를 조정

Parameters:

Name Type Description Default
params dict

원본 파라미터

required

Returns:

Name Type Description
dict

조정된 파라미터

get_fit_params(data_dict, params=None, logger=None)

LightGBM의 fit 파라미터 구성

mllabs.adapter.XGBoostAdapter

Bases: ModelAdapter

Adapter for XGBoost models (XGBClassifier, XGBRegressor)

XGBoost는 eval_set 파라미터로 [(X, y), ...] 형태를 받습니다.

get_params(params, logger=None)

XGBoost 모델 생성자 파라미터 조정 (ProgressCallback 설정)

get_fit_params(data_dict, params=None, logger=None)

XGBoost의 fit 파라미터 구성

mllabs.adapter.CatBoostAdapter

Bases: ModelAdapter

Adapter for CatBoost models (CatBoostClassifier, CatBoostRegressor)

CatBoost도 eval_set을 지원합니다.

get_fit_params(data_dict, params=None, logger=None)

CatBoost의 fit 파라미터 구성

mllabs.adapter.KerasAdapter

Bases: ModelAdapter

Adapter for Keras models (KerasClassifier, KerasRegressor)

Keras는 validation_data 파라미터로 (X, y) 튜플을 받습니다.

get_fit_params(data_dict, params=None, logger=None)

Keras의 fit 파라미터 구성

mllabs.adapter.LMAdapter

Bases: ModelAdapter

mllabs.adapter.PCAAdapter

Bases: ModelAdapter

mllabs.adapter.LDAAdapter

Bases: ModelAdapter

mllabs.adapter.DecisionTreeAdapter

Bases: ModelAdapter

mllabs.adapter.get_adapter(model_or_name)

모델 또는 모델명에 해당하는 어댑터 인스턴스를 반환

Parameters:

Name Type Description Default
model_or_name

Model instance or model class name (str)

required

Returns:

Name Type Description
ModelAdapter

Corresponding adapter instance, or DefaultAdapter instance if not found

Example

from xgboost import XGBClassifier adapter = get_adapter(XGBClassifier)

or

adapter = get_adapter('XGBClassifier')

mllabs.adapter.register_adapter(model_name, adapter)

새로운 어댑터를 레지스트리에 등록

Parameters:

Name Type Description Default
model_name str

Model class name

required
adapter ModelAdapter

Adapter instance

required
Example

class MyCustomAdapter(ModelAdapter): ... def get_fit_params(self, X_train, y_train, X_eval=None, y_eval=None, params=None): ... # custom implementation ... return {...}

register_adapter('MyCustomModel', MyCustomAdapter())