tkmlr 生成AI投入用コンテキスト
このファイルは
tkmlrを使うコード生成のため、マニュアルとAPIリファレンスを1ファイルへ統合したものです。API名・引数は下記APIリファレンスを優先し、存在しないAPIを推測で作らないでください。ソースコードが同時に与えられた場合はソースコードを最優先します。
tkmlr マニュアル
1. 役割
tkmlr は、複数の回帰backendを共通の fit/predict interfaceで扱う小型ライブラリです。通常の回帰を担当し、次の実験点を選ぶadaptive optimizationは tkbo に分離されています。
2. 推奨import
from tkmlr import create_model, registered_models, regression_report
3. 基本例
from tkmlr import create_model, regression_report
model = create_model("gpr", alpha=1.0e-6)
model.fit(X_train, y_train)
y_pred, y_std = model.predict(X_test, return_std=True)
metrics = regression_report(y_test, y_pred)
標準偏差を返せないmodelで return_std=True を指定した場合の挙動はwrapper実装に依存するため、model.supports_std を確認してください。
4. 登録model
名前 |
backend |
|---|---|
|
sklearn LinearRegression |
|
sklearn Ridge |
|
sklearn Lasso |
|
sklearn ElasticNet |
|
sklearn MLPRegressor |
|
sklearn RandomForestRegressor |
|
sklearn GaussianProcessRegressor |
|
sklearn SVR |
|
PHYSBO GP/RFM surrogate wrapper |
実行時の登録一覧:
print(list(registered_models()))
5. 共通interface
BaseRegressor の主要契約:
model.fit(X, y) -> model
model.predict(X, return_std=False)
model.get_params(deep=True) -> dict
model.set_params(**params) -> model
model.score(X, y) -> float
X: shape(n_samples, n_features)。1次元入力は(n, 1)に変換。y: shape(n_samples,)。supports_std: predictive uncertainty対応。supports_score: backend固有score対応。
6. PHYSBOを回帰器として使う
model = create_model(
"physbo",
num_rand_basis=200,
interval=0,
standardize=True,
random_seed=1,
)
model.fit(X_train, y_train)
y_mean, y_std = model.predict(X_candidates, return_std=True)
ei = model.acquisition(X_candidates, mode="EI")
これは回帰・score計算用wrapperであり、ask/tell は実装しません。adaptive searchには tkbo を使います。
7. 表データとtarget列規則
tkmlr.data.parse_target_columns() は列名から目的を読み取ります。
列名例 |
意味 |
|---|---|
|
yを最大化 |
|
yを最小化(内部で符号反転) |
|
yを3.5へ近づける(負の二乗誤差へ変換) |
|
最大化targetとplot index指定 |
|
descriptorから除外 |
from tkmlr.data import read_table, make_xy_from_table
df = read_table("data.xlsx")
X, y, spec, descriptors, work = make_xy_from_table(df)
8. 前処理
Standardizer はNumPyだけで動く単純標準化器です。分散0列はscale=1として保持します。
from tkmlr.preprocessing import Standardizer
scaler = Standardizer().fit(X_train)
X_train_std = scaler.transform(X_train)
X_test_std = scaler.transform(X_test)
LogTransformer はDataFrameの指定列へcolumn-wise log変換を行います。0以下の値の扱いは入力側で検討してください。
9. 独自model登録
from tkmlr import BaseRegressor, register_model
class MyRegressor(BaseRegressor):
name = "my_model"
def fit(self, X, y):
self.model_ = ...
return self
def predict(self, X, return_std=False):
...
@register_model("my_model")
def build_my_model(**params):
return MyRegressor(**params)
登録はbuilder関数に対するdecoratorです。register_model("name", cls) 形式ではありません。
10. CLI
python -m tkmlr.cli \
--input data.xlsx \
--method gpr \
--target max:y \
--return-std 1
現CLIは全データでfitし、同じデータに対するmetricを表示する簡易動作です。holdoutやcross validationを自動実行すると仮定しないでください。
11. 依存関係
numpy,pandas,scikit-learn,openpyxlPHYSBO modelのみ
physboplotを追加する場合は
matplotlib
12. 生成AI向けコード生成ルール
model生成は
create_model(name, **params)を使う。回帰とBayesian optimizationを分け、
tkmlrにask/tellを期待しない。return_std=Trueの前にsupports_stdまたはmodel種別を確認する。PHYSBO回帰器の標準化は内部で行われるため、二重標準化しない。
target列の
min:や=value:は内部目的値へ変換される。予測値を元単位のtargetと混同しない。CLI metricはtraining metricであり、汎化性能評価として報告しない。
新backendはregistryへbuilderを登録し、factory本体を書き換えない。
tkmlr APIリファレンス
対象ソース:
tklib2.zip(解析日: 2026-08-03)。この文書はソースコードを静的解析して生成しています。
APIの読み方
パッケージ公開APIは、原則としてトップレベルの
__all__に含まれる名前です。モジュールAPIには、公開名(先頭が
_でない関数・クラス・メソッド)を列挙しています。docstringがないAPIでは、シグネチャとソースパスを一次情報として扱ってください。
生成AIは、この文書に存在しない引数・戻り値・メソッドを推測で追加しないでください。
パッケージ公開API
from tkmlr import (
BaseRegressor,
create_model,
registered_models,
register_model,
regression_report,
)
名前 |
推奨用途 |
|---|---|
|
トップレベルから安定してimportできる公開API |
|
トップレベルから安定してimportできる公開API |
|
トップレベルから安定してimportできる公開API |
|
トップレベルから安定してimportできる公開API |
|
トップレベルから安定してimportできる公開API |
モジュール一覧
モジュール |
ソース |
関数 |
クラス |
|---|---|---|---|
|
|
0 |
0 |
|
|
2 |
1 |
|
|
2 |
0 |
|
|
4 |
1 |
|
|
0 |
0 |
|
|
5 |
0 |
|
|
1 |
1 |
|
|
0 |
2 |
|
|
3 |
0 |
|
|
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.
データクラス相当の初期化フィールド
BaseRegressor(supports_std: bool = False, supports_score: bool = False, name: str = 'base')
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
|
|
|
|
|
|
メソッド/プロパティ
method BaseRegressor.fit
def fit(self, X: ArrayLike, y: ArrayLike) -> 'BaseRegressor'
ソース内docstringはありません。シグネチャと実装を参照してください。
method BaseRegressor.predict
def predict(self, X: ArrayLike, return_std: bool = False)
ソース内docstringはありません。シグネチャと実装を参照してください。
method BaseRegressor.get_params
def get_params(self, deep: bool = True) -> Dict[str, Any]
ソース内docstringはありません。シグネチャと実装を参照してください。
method BaseRegressor.set_params
def set_params(self, **params: Any) -> 'BaseRegressor'
ソース内docstringはありません。シグネチャと実装を参照してください。
method BaseRegressor.score
def score(self, X: ArrayLike, y: ArrayLike) -> float
ソース内docstringはありません。シグネチャと実装を参照してください。
function as_2d_array
def as_2d_array(X: ArrayLike) -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
function as_1d_array
def as_1d_array(y: ArrayLike) -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
tkmlr.cli
ソース: tkmlr/cli.py
Command-line interface for tkmlr.
function build_parser
def build_parser() -> argparse.ArgumentParser
ソース内docstringはありません。シグネチャと実装を参照してください。
function main
def main(argv = None) -> int
ソース内docstringはありません。シグネチャと実装を参照してください。
tkmlr.data
ソース: tkmlr/data.py
Data loading and column parsing utilities.
class TargetSpec
ソース内docstringはありません。シグネチャと実装を参照してください。
データクラス相当の初期化フィールド
TargetSpec(original_label: str, label: str, mode: str = 'max', value: Optional[float] = None, plot_index: Optional[int] = None)
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function read_table
def read_table(path: str, sheet_name = 0, header: int = 0, index_col = None) -> pd.DataFrame
ソース内docstringはありません。シグネチャと実装を参照してください。
function parse_target_columns
def parse_target_columns(columns: Sequence[str]) -> Tuple[List[TargetSpec], List[str]]
ソース内docstringはありません。シグネチャと実装を参照してください。
function transform_target
def transform_target(y: np.ndarray, spec: TargetSpec) -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
function make_xy_from_table
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
def mae(y_true, y_pred) -> float
ソース内docstringはありません。シグネチャと実装を参照してください。
function mse
def mse(y_true, y_pred) -> float
ソース内docstringはありません。シグネチャと実装を参照してください。
function rmse
def rmse(y_true, y_pred) -> float
ソース内docstringはありません。シグネチャと実装を参照してください。
function r2
def r2(y_true, y_pred) -> float
ソース内docstringはありません。シグネチャと実装を参照してください。
function regression_report
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はありません。シグネチャと実装を参照してください。
データクラス相当の初期化フィールド
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)
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
メソッド/プロパティ
method PhysBORegressor.fit
def fit(self, X, y)
ソース内docstringはありません。シグネチャと実装を参照してください。
method PhysBORegressor.predict
def predict(self, X, return_std: bool = False)
ソース内docstringはありません。シグネチャと実装を参照してください。
method PhysBORegressor.acquisition
def acquisition(self, X, mode: Optional[str] = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
function build_physbo
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.
データクラス相当の初期化フィールド
Standardizer(mean_: Optional[np.ndarray] = None, scale_: Optional[np.ndarray] = None)
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
|
|
|
メソッド/プロパティ
method Standardizer.fit
def fit(self, X: Any) -> 'Standardizer'
ソース内docstringはありません。シグネチャと実装を参照してください。
method Standardizer.transform
def transform(self, X: Any) -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
method Standardizer.fit_transform
def fit_transform(self, X: Any) -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
method Standardizer.inverse_transform
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.
データクラス相当の初期化フィールド
LogTransformer(log_columns: Iterable[Any])
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
メソッド/プロパティ
method LogTransformer.transform_dataframe
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
def register_model(name: str)
ソース内docstringはありません。シグネチャと実装を参照してください。
function create_model
def create_model(name: str, **params) -> BaseRegressor
ソース内docstringはありません。シグネチャと実装を参照してください。
function registered_models
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.
データクラス相当の初期化フィールド
SklearnRegressor(estimator: Any, name: str = 'sklearn')
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
|
|
|
メソッド/プロパティ
method SklearnRegressor.fit
def fit(self, X, y)
ソース内docstringはありません。シグネチャと実装を参照してください。
method SklearnRegressor.predict
def predict(self, X, return_std: bool = False)
ソース内docstringはありません。シグネチャと実装を参照してください。
method SklearnRegressor.get_params
def get_params(self, deep: bool = True)
ソース内docstringはありません。シグネチャと実装を参照してください。
method SklearnRegressor.set_params
def set_params(self, **params)
ソース内docstringはありません。シグネチャと実装を参照してください。
function build_linear
def build_linear(**params)
ソース内docstringはありません。シグネチャと実装を参照してください。
function build_ridge
def build_ridge(alpha: float = 1.0, **params)
ソース内docstringはありません。シグネチャと実装を参照してください。
function build_lasso
def build_lasso(alpha: float = 1.0, max_iter: int = 10000, **params)
ソース内docstringはありません。シグネチャと実装を参照してください。
function build_elastic
def build_elastic(alpha: float = 1.0, l1_ratio: float = 0.5, max_iter: int = 10000, **params)
ソース内docstringはありません。シグネチャと実装を参照してください。
function build_mlp
def build_mlp(hidden_layer_sizes = (20, 20), max_iter: int = 2000, random_state: Optional[int] = 0, **params)
ソース内docstringはありません。シグネチャと実装を参照してください。
function build_random_forest
def build_random_forest(n_estimators: int = 200, random_state: Optional[int] = 0, **params)
ソース内docstringはありません。シグネチャと実装を参照してください。
function build_gpr
def build_gpr(alpha: float = 1e-06, kernel: Any = None, n_restarts_optimizer: int = 5, **params)
ソース内docstringはありません。シグネチャと実装を参照してください。
function build_svr
def build_svr(C: float = 1.0, epsilon: float = 0.1, kernel: str = 'rbf', **params)
ソース内docstringはありません。シグネチャと実装を参照してください。