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 파라미터를 사용하지만 약간 다른 방식입니다.
mllabs.adapter.XGBoostAdapter
¶
Bases: ModelAdapter
Adapter for XGBoost models (XGBClassifier, XGBRegressor)
XGBoost는 eval_set 파라미터로 [(X, y), ...] 형태를 받습니다.
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())