# tkmlr APIリファレンス

> 対象ソース: `tklib2.zip`（解析日: 2026-08-03）。この文書はソースコードを静的解析して生成しています。

## APIの読み方

- **パッケージ公開API**は、原則としてトップレベルの `__all__` に含まれる名前です。
- **モジュールAPI**には、公開名（先頭が `_` でない関数・クラス・メソッド）を列挙しています。
- docstringがないAPIでは、シグネチャとソースパスを一次情報として扱ってください。
- 生成AIは、この文書に存在しない引数・戻り値・メソッドを推測で追加しないでください。

## パッケージ公開API

```python
from tkmlr import (
    BaseRegressor,
    create_model,
    registered_models,
    register_model,
    regression_report,
)
```

| 名前 | 推奨用途 |
|---|---|
| `BaseRegressor` | トップレベルから安定してimportできる公開API |
| `create_model` | トップレベルから安定してimportできる公開API |
| `registered_models` | トップレベルから安定してimportできる公開API |
| `register_model` | トップレベルから安定してimportできる公開API |
| `regression_report` | トップレベルから安定してimportできる公開API |

## モジュール一覧

| モジュール | ソース | 関数 | クラス |
|---|---|---:|---:|
| `tkmlr` | `tkmlr/__init__.py` | 0 | 0 |
| `tkmlr.base` | `tkmlr/base.py` | 2 | 1 |
| `tkmlr.cli` | `tkmlr/cli.py` | 2 | 0 |
| `tkmlr.data` | `tkmlr/data.py` | 4 | 1 |
| `tkmlr.factory` | `tkmlr/factory.py` | 0 | 0 |
| `tkmlr.metrics` | `tkmlr/metrics.py` | 5 | 0 |
| `tkmlr.physbo_regressor` | `tkmlr/physbo_regressor.py` | 1 | 1 |
| `tkmlr.preprocessing` | `tkmlr/preprocessing.py` | 0 | 2 |
| `tkmlr.registry` | `tkmlr/registry.py` | 3 | 0 |
| `tkmlr.sklearn_models` | `tkmlr/sklearn_models.py` | 8 | 1 |

## `tkmlr`

ソース: `tkmlr/__init__.py`

tkmlr: small extensible regression library.

_このモジュールには静的解析で検出された公開関数・クラス・定数はありません。_

## `tkmlr.base`

ソース: `tkmlr/base.py`

Base classes for tkmlr regressors.

The design follows the scikit-learn style where possible:
    fit(X, y)
    predict(X, return_std=False)
    get_params()
    set_params(**params)

Bayesian optimizers should be implemented separately.  A PHYSBO Gaussian-process
surrogate can live here as a regressor, while ask/tell adaptive search belongs
in a separate optimizer module/package.

### class `BaseRegressor`

Small sklearn-like base class.

Subclasses only need to override ``fit`` and ``predict``.  This class is kept
intentionally light so that wrappers for sklearn, PHYSBO, GPy, GPflow, etc.
can share the same external interface without inheriting from sklearn.

**データクラス相当の初期化フィールド**

```python
BaseRegressor(supports_std: bool = False, supports_score: bool = False, name: str = 'base')
```

**フィールド**

| 名前 | 型 | 既定値 |
|---|---|---|
| `supports_std` | `bool` | `False` |
| `supports_score` | `bool` | `False` |
| `name` | `str` | `'base'` |

**メソッド／プロパティ**

#### method `BaseRegressor.fit`

```python
def fit(self, X: ArrayLike, y: ArrayLike) -> 'BaseRegressor'
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `BaseRegressor.predict`

```python
def predict(self, X: ArrayLike, return_std: bool = False)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `BaseRegressor.get_params`

```python
def get_params(self, deep: bool = True) -> Dict[str, Any]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `BaseRegressor.set_params`

```python
def set_params(self, **params: Any) -> 'BaseRegressor'
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `BaseRegressor.score`

```python
def score(self, X: ArrayLike, y: ArrayLike) -> float
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `as_2d_array`

```python
def as_2d_array(X: ArrayLike) -> np.ndarray
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `as_1d_array`

```python
def as_1d_array(y: ArrayLike) -> np.ndarray
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkmlr.cli`

ソース: `tkmlr/cli.py`

Command-line interface for tkmlr.

### function `build_parser`

```python
def build_parser() -> argparse.ArgumentParser
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `main`

```python
def main(argv = None) -> int
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkmlr.data`

ソース: `tkmlr/data.py`

Data loading and column parsing utilities.

### class `TargetSpec`

_ソース内docstringはありません。シグネチャと実装を参照してください。_

**データクラス相当の初期化フィールド**

```python
TargetSpec(original_label: str, label: str, mode: str = 'max', value: Optional[float] = None, plot_index: Optional[int] = None)
```

**フィールド**

| 名前 | 型 | 既定値 |
|---|---|---|
| `original_label` | `str` | `必須` |
| `label` | `str` | `必須` |
| `mode` | `str` | `'max'` |
| `value` | `Optional[float]` | `None` |
| `plot_index` | `Optional[int]` | `None` |

### function `read_table`

```python
def read_table(path: str, sheet_name = 0, header: int = 0, index_col = None) -> pd.DataFrame
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `parse_target_columns`

```python
def parse_target_columns(columns: Sequence[str]) -> Tuple[List[TargetSpec], List[str]]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `transform_target`

```python
def transform_target(y: np.ndarray, spec: TargetSpec) -> np.ndarray
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `make_xy_from_table`

```python
def make_xy_from_table(df: pd.DataFrame, target: Optional[str] = None, descriptors: Optional[Sequence[str]] = None, dropna: bool = True)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkmlr.factory`

ソース: `tkmlr/factory.py`

Public factory helpers.

_このモジュールには静的解析で検出された公開関数・クラス・定数はありません。_

## `tkmlr.metrics`

ソース: `tkmlr/metrics.py`

Metrics used by tkmlr.

### function `mae`

```python
def mae(y_true, y_pred) -> float
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `mse`

```python
def mse(y_true, y_pred) -> float
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `rmse`

```python
def rmse(y_true, y_pred) -> float
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `r2`

```python
def r2(y_true, y_pred) -> float
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `regression_report`

```python
def regression_report(y_true, y_pred) -> Dict[str, float]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkmlr.physbo_regressor`

ソース: `tkmlr/physbo_regressor.py`

PHYSBO Gaussian-process surrogate as a regressor.

This class intentionally does not implement ask/tell adaptive learning.  It is a
surrogate regressor for comparing PHYSBO's GP/RFM backend with sklearn GPR and
other regressors through the common tkmlr interface.

### class `PhysBORegressor` — bases: `BaseRegressor`

_ソース内docstringはありません。シグネチャと実装を参照してください。_

**データクラス相当の初期化フィールド**

```python
PhysBORegressor(score_mode: str = 'EI', num_rand_basis: int = 200, interval: int = 0, standardize: bool = True, random_seed: Optional[int] = None, name: str = 'physbo', supports_std: bool = True, supports_score: bool = True)
```

**フィールド**

| 名前 | 型 | 既定値 |
|---|---|---|
| `score_mode` | `str` | `'EI'` |
| `num_rand_basis` | `int` | `200` |
| `interval` | `int` | `0` |
| `standardize` | `bool` | `True` |
| `random_seed` | `Optional[int]` | `None` |
| `name` | `str` | `'physbo'` |
| `supports_std` | `bool` | `True` |
| `supports_score` | `bool` | `True` |

**メソッド／プロパティ**

#### method `PhysBORegressor.fit`

```python
def fit(self, X, y)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `PhysBORegressor.predict`

```python
def predict(self, X, return_std: bool = False)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `PhysBORegressor.acquisition`

```python
def acquisition(self, X, mode: Optional[str] = None)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `build_physbo`

```python
def build_physbo(**params)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkmlr.preprocessing`

ソース: `tkmlr/preprocessing.py`

Preprocessing utilities for tkmlr.

### class `Standardizer`

Simple standardizer independent of sklearn.

sigma=0 columns are left unchanged by using sigma=1.0.

**データクラス相当の初期化フィールド**

```python
Standardizer(mean_: Optional[np.ndarray] = None, scale_: Optional[np.ndarray] = None)
```

**フィールド**

| 名前 | 型 | 既定値 |
|---|---|---|
| `mean_` | `Optional[np.ndarray]` | `None` |
| `scale_` | `Optional[np.ndarray]` | `None` |

**メソッド／プロパティ**

#### method `Standardizer.fit`

```python
def fit(self, X: Any) -> 'Standardizer'
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `Standardizer.transform`

```python
def transform(self, X: Any) -> np.ndarray
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `Standardizer.fit_transform`

```python
def fit_transform(self, X: Any) -> np.ndarray
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `Standardizer.inverse_transform`

```python
def inverse_transform(self, X: Any) -> np.ndarray
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### class `LogTransformer`

Column-wise log transform.

``log_columns`` can be column names or integer column indices.

**データクラス相当の初期化フィールド**

```python
LogTransformer(log_columns: Iterable[Any])
```

**フィールド**

| 名前 | 型 | 既定値 |
|---|---|---|
| `log_columns` | `Iterable[Any]` | `必須` |

**メソッド／プロパティ**

#### method `LogTransformer.transform_dataframe`

```python
def transform_dataframe(self, df)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkmlr.registry`

ソース: `tkmlr/registry.py`

Model registry for tkmlr.

New backends can be added without editing the factory by decorating a builder:

    @register_model("my_model")
    def build_my_model(**params):
        return MyRegressor(**params)

### function `register_model`

```python
def register_model(name: str)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `create_model`

```python
def create_model(name: str, **params) -> BaseRegressor
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `registered_models`

```python
def registered_models() -> Iterable[str]
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

## `tkmlr.sklearn_models`

ソース: `tkmlr/sklearn_models.py`

Wrappers for sklearn regressors.

### class `SklearnRegressor` — bases: `BaseRegressor`

Generic wrapper around a scikit-learn estimator.

**データクラス相当の初期化フィールド**

```python
SklearnRegressor(estimator: Any, name: str = 'sklearn')
```

**フィールド**

| 名前 | 型 | 既定値 |
|---|---|---|
| `estimator` | `Any` | `必須` |
| `name` | `str` | `'sklearn'` |

**メソッド／プロパティ**

#### method `SklearnRegressor.fit`

```python
def fit(self, X, y)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `SklearnRegressor.predict`

```python
def predict(self, X, return_std: bool = False)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `SklearnRegressor.get_params`

```python
def get_params(self, deep: bool = True)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

#### method `SklearnRegressor.set_params`

```python
def set_params(self, **params)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `build_linear`

```python
def build_linear(**params)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `build_ridge`

```python
def build_ridge(alpha: float = 1.0, **params)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `build_lasso`

```python
def build_lasso(alpha: float = 1.0, max_iter: int = 10000, **params)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `build_elastic`

```python
def build_elastic(alpha: float = 1.0, l1_ratio: float = 0.5, max_iter: int = 10000, **params)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `build_mlp`

```python
def build_mlp(hidden_layer_sizes = (20, 20), max_iter: int = 2000, random_state: Optional[int] = 0, **params)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `build_random_forest`

```python
def build_random_forest(n_estimators: int = 200, random_state: Optional[int] = 0, **params)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `build_gpr`

```python
def build_gpr(alpha: float = 1e-06, kernel: Any = None, n_restarts_optimizer: int = 5, **params)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_

### function `build_svr`

```python
def build_svr(C: float = 1.0, epsilon: float = 0.1, kernel: str = 'rbf', **params)
```

_ソース内docstringはありません。シグネチャと実装を参照してください。_
