tkbo APIリファレンス
対象ソース:
tklib2.zip(解析日: 2026-08-03)。この文書はソースコードを静的解析して生成しています。
APIの読み方
パッケージ公開APIは、原則としてトップレベルの
__all__に含まれる名前です。モジュールAPIには、公開名(先頭が
_でない関数・クラス・メソッド)を列挙しています。docstringがないAPIでは、シグネチャとソースパスを一次情報として扱ってください。
生成AIは、この文書に存在しない引数・戻り値・メソッドを推測で追加しないでください。
パッケージ公開API
from tkbo import (
create_optimizer,
register_backend,
register_acquisition,
register_surrogate,
)
名前 |
推奨用途 |
|---|---|
|
トップレベルから安定してimportできる公開API |
|
トップレベルから安定してimportできる公開API |
|
トップレベルから安定してimportできる公開API |
|
トップレベルから安定してimportできる公開API |
モジュール一覧
モジュール |
ソース |
関数 |
クラス |
|---|---|---|---|
|
|
0 |
0 |
|
|
0 |
0 |
|
|
0 |
4 |
|
|
0 |
1 |
|
|
0 |
1 |
|
|
0 |
0 |
|
|
0 |
1 |
|
|
0 |
1 |
|
|
0 |
2 |
|
|
4 |
4 |
|
|
3 |
0 |
|
|
3 |
0 |
|
|
3 |
0 |
|
|
6 |
0 |
|
|
0 |
0 |
|
|
0 |
1 |
|
|
0 |
1 |
tkbo
ソース: tkbo/__init__.py
tkbo: lightweight Bayesian/adaptive optimization helpers.
Design goals
Discrete candidate optimization for experimental design.
Backend switching by
model/backendparameter.PHYSBO can be used in two ways:
PHYSBO native backend: uses PHYSBO's own bayes_search (EI/PI/TS).
Custom backend with PhysBOSurrogate: uses PHYSBO posterior mean/std and tkbo-side acquisition functions.
sklearn GaussianProcessRegressor backend is available for flexible kernels and custom acquisition functions.
このモジュールには静的解析で検出された公開関数・クラス・定数はありません。
tkbo.acquisitions
ソース: tkbo/acquisitions/__init__.py
このモジュールには静的解析で検出された公開関数・クラス・定数はありません。
tkbo.acquisitions.analytic
ソース: tkbo/acquisitions/analytic.py
class ExpectedImprovement — bases: BaseAcquisition
Analytic EI for independent posterior mean/std.
コンストラクタ
ExpectedImprovement(xi: float = 0.0)
クラス定数
名前 |
値 |
|---|---|
|
|
class ProbabilityImprovement — bases: BaseAcquisition
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
ProbabilityImprovement(xi: float = 0.0)
クラス定数
名前 |
値 |
|---|---|
|
|
class UpperConfidenceBound — bases: BaseAcquisition
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
UpperConfidenceBound(kappa: float = 2.0)
クラス定数
名前 |
値 |
|---|---|
|
|
class LowerConfidenceBound — bases: BaseAcquisition
LCB score converted so larger is better.
コンストラクタ
LowerConfidenceBound(kappa: float = 2.0)
クラス定数
名前 |
値 |
|---|---|
|
|
tkbo.acquisitions.entropy
ソース: tkbo/acquisitions/entropy.py
class EntropySearchLite — bases: BaseAcquisition
Simple uncertainty/entropy score for Gaussian marginal posterior.
For a Gaussian marginal, entropy is proportional to log(std).
クラス定数
名前 |
値 |
|---|---|
|
|
tkbo.acquisitions.stein
ソース: tkbo/acquisitions/stein.py
class SteinLiteAcquisition — bases: BaseAcquisition
Practical Stein-like exploration score.
This is not a strict SVGD implementation. It is an extensible heuristic:
score = std_weight * std + grad_weight * std * ||grad mean||
The gradient is evaluated by finite difference using surrogate.predict().
This class expects model to be passed in kwargs by CustomOptimizer.
コンストラクタ
SteinLiteAcquisition(eps: float = 1e-05, std_weight: float = 1.0, grad_weight: float = 1.0)
クラス定数
名前 |
値 |
|---|---|
|
|
tkbo.backends
ソース: tkbo/backends/__init__.py
このモジュールには静的解析で検出された公開関数・クラス・定数はありません。
tkbo.backends.custom_backend
ソース: tkbo/backends/custom_backend.py
class CustomOptimizer — bases: BaseOptimizer
Discrete BO optimizer with pluggable surrogate and acquisition.
This is the main extension point for custom scores such as Stein-lite.
コンストラクタ
CustomOptimizer(surrogate: BaseSurrogate, acquisition: BaseAcquisition, maximize: bool = True, refit_each_tell: bool = True)
メソッド/プロパティ
method CustomOptimizer.initialize
def initialize(self, X_candidates, y: Optional[Sequence[float]] = None, observed_mask: Optional[Sequence[bool]] = None, observed_indices: Optional[Sequence[int]] = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
property CustomOptimizer.observed_indices
def observed_indices(self) -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
property CustomOptimizer.y_observed
def y_observed(self) -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
method CustomOptimizer.predict
def predict(self, X = None, return_std: bool = True)
ソース内docstringはありません。シグネチャと実装を参照してください。
method CustomOptimizer.acquisition
def acquisition(self, X = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method CustomOptimizer.ask
def ask(self, n_points: int = 1) -> BOResult
ソース内docstringはありません。シグネチャと実装を参照してください。
method CustomOptimizer.tell
def tell(self, indices, y_new)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkbo.backends.physbo_backend
ソース: tkbo/backends/physbo_backend.py
class PhysBONativeOptimizer — bases: BaseOptimizer
PHYSBO-native discrete optimizer.
Uses PHYSBO's own bayes_search and score modes (typically EI/PI/TS). For arbitrary custom scores, use CustomOptimizer with PhysBOSurrogate or SklearnGPRSurrogate instead.
コンストラクタ
PhysBONativeOptimizer(score_mode: str = 'EI', num_rand_basis: int = 200, interval: int = 0, random_seed: int | None = None, maximize: bool = True)
メソッド/プロパティ
method PhysBONativeOptimizer.initialize
def initialize(self, X_candidates, y: Optional[Sequence[float]] = None, observed_mask: Optional[Sequence[bool]] = None, observed_indices: Optional[Sequence[int]] = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method PhysBONativeOptimizer.ask
def ask(self, n_points: int = 1) -> BOResult
ソース内docstringはありません。シグネチャと実装を参照してください。
method PhysBONativeOptimizer.tell
def tell(self, indices, y_new)
ソース内docstringはありません。シグネチャと実装を参照してください。
method PhysBONativeOptimizer.predict
def predict(self, X = None, return_std: bool = True)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkbo.backends.simple
ソース: tkbo/backends/simple.py
class RandomOptimizer — bases: BaseOptimizer
ソース内docstringはありません。シグネチャと実装を参照してください。
コンストラクタ
RandomOptimizer(random_seed: int | None = None)
メソッド/プロパティ
method RandomOptimizer.initialize
def initialize(self, X_candidates, y: Optional[Sequence[float]] = None, observed_mask = None, observed_indices = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method RandomOptimizer.ask
def ask(self, n_points: int = 1)
ソース内docstringはありません。シグネチャと実装を参照してください。
method RandomOptimizer.tell
def tell(self, indices, y_new)
ソース内docstringはありません。シグネチャと実装を参照してください。
method RandomOptimizer.predict
def predict(self, X = None, return_std: bool = True)
ソース内docstringはありません。シグネチャと実装を参照してください。
class GridOptimizer — bases: BaseOptimizer
Sequentially returns unobserved candidates in their original order.
メソッド/プロパティ
method GridOptimizer.initialize
def initialize(self, X_candidates, y: Optional[Sequence[float]] = None, observed_mask = None, observed_indices = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method GridOptimizer.ask
def ask(self, n_points: int = 1)
ソース内docstringはありません。シグネチャと実装を参照してください。
method GridOptimizer.tell
def tell(self, indices, y_new)
ソース内docstringはありません。シグネチャと実装を参照してください。
method GridOptimizer.predict
def predict(self, X = None, return_std: bool = True)
ソース内docstringはありません。シグネチャと実装を参照してください。
tkbo.base
ソース: tkbo/base.py
class BOResult
Result returned by ask().
データクラス相当の初期化フィールド
BOResult(indices: np.ndarray, scores: Optional[np.ndarray] = None, X: Optional[np.ndarray] = None)
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
|
|
|
|
|
|
class BaseSurrogate
Base class for surrogate models.
Surrogates provide posterior mean/std. They do not decide the next point.
データクラス相当の初期化フィールド
BaseSurrogate(supports_std: bool = False)
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
メソッド/プロパティ
method BaseSurrogate.fit
def fit(self, X: np.ndarray, y: np.ndarray) -> 'BaseSurrogate'
ソース内docstringはありません。シグネチャと実装を参照してください。
method BaseSurrogate.predict
def predict(self, X: np.ndarray, return_std: bool = False)
ソース内docstringはありません。シグネチャと実装を参照してください。
method BaseSurrogate.get_params
def get_params(self, deep: bool = True) -> dict[str, Any]
ソース内docstringはありません。シグネチャと実装を参照してください。
method BaseSurrogate.set_params
def set_params(self, **params: Any) -> 'BaseSurrogate'
ソース内docstringはありません。シグネチャと実装を参照してください。
class BaseAcquisition
Base class for acquisition functions.
データクラス相当の初期化フィールド
BaseAcquisition(name: str = 'base')
フィールド
名前 |
型 |
既定値 |
|---|---|---|
|
|
|
class BaseOptimizer
Base ask/tell optimizer for discrete candidate sets.
メソッド/プロパティ
method BaseOptimizer.initialize
def initialize(self, X_candidates: np.ndarray, y: Optional[Sequence[float]] = None, observed_mask: Optional[Sequence[bool]] = None, observed_indices: Optional[Sequence[int]] = None) -> 'BaseOptimizer'
ソース内docstringはありません。シグネチャと実装を参照してください。
method BaseOptimizer.ask
def ask(self, n_points: int = 1) -> BOResult
ソース内docstringはありません。シグネチャと実装を参照してください。
method BaseOptimizer.tell
def tell(self, indices: Sequence[int] | int, y_new: Sequence[float] | float) -> 'BaseOptimizer'
ソース内docstringはありません。シグネチャと実装を参照してください。
method BaseOptimizer.predict
def predict(self, X: Optional[np.ndarray] = None, return_std: bool = True)
ソース内docstringはありません。シグネチャと実装を参照してください。
function as_2d_array
def as_2d_array(X: Any, name: str = 'X') -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
function as_1d_array
def as_1d_array(y: Any, name: str = 'y') -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
function make_observed_mask
def make_observed_mask(n: int, y: Optional[Sequence[float]] = None, observed_mask: Optional[Sequence[bool]] = None, observed_indices: Optional[Sequence[int]] = None) -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
function top_k_from_score
def top_k_from_score(score: np.ndarray, k: int, observed_mask: Optional[np.ndarray] = None) -> np.ndarray
ソース内docstringはありません。シグネチャと実装を参照してください。
tkbo.cli
ソース: tkbo/cli.py
function build_parser
def build_parser()
ソース内docstringはありません。シグネチャと実装を参照してください。
function run
def run(args)
ソース内docstringはありません。シグネチャと実装を参照してください。
function main
def main()
ソース内docstringはありません。シグネチャと実装を参照してください。
tkbo.data
ソース: tkbo/data.py
function read_table
def read_table(path: str | Path, sheet_name = 0) -> pd.DataFrame
ソース内docstringはありません。シグネチャと実装を参照してください。
function infer_columns
def infer_columns(df: pd.DataFrame, target: str | None = None, features: str | list[str] | None = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
function split_observed_candidates
def split_observed_candidates(df: pd.DataFrame, target: str, features: list[str])
ソース内docstringはありません。シグネチャと実装を参照してください。
tkbo.factory
ソース: tkbo/factory.py
function create_surrogate
def create_surrogate(name: str, **params: Any)
ソース内docstringはありません。シグネチャと実装を参照してください。
function create_acquisition
def create_acquisition(name: str, **params: Any)
ソース内docstringはありません。シグネチャと実装を参照してください。
function create_optimizer
def create_optimizer(model: str = 'custom', backend: str | None = None, surrogate: str = 'sklearn_gpr', acquisition: str = 'ei', **params: Any)
Create optimizer.
Parameters
model, backend:
Backend selector. model is accepted for user-facing CLI compatibility.
Examples: physbo, custom, sklearn_gpr, random, grid.
surrogate:
Surrogate used by custom backend. Examples: sklearn_gpr, physbo_gp.
acquisition:
Acquisition used by custom backend. Examples: ei, pi, ucb, stein.
params:
Passed to backend. For CustomOptimizer, use prefixes:
surrogate__alpha=... and acquisition__kappa=....
tkbo.registry
ソース: tkbo/registry.py
公開定数・モジュール変数
名前 |
型/値 |
|---|---|
|
|
|
|
|
|
function register_backend
def register_backend(name: str, cls: type) -> None
ソース内docstringはありません。シグネチャと実装を参照してください。
function register_surrogate
def register_surrogate(name: str, cls: type) -> None
ソース内docstringはありません。シグネチャと実装を参照してください。
function register_acquisition
def register_acquisition(name: str, cls: type) -> None
ソース内docstringはありません。シグネチャと実装を参照してください。
function get_backend
def get_backend(name: str) -> type
ソース内docstringはありません。シグネチャと実装を参照してください。
function get_surrogate
def get_surrogate(name: str) -> type
ソース内docstringはありません。シグネチャと実装を参照してください。
function get_acquisition
def get_acquisition(name: str) -> type
ソース内docstringはありません。シグネチャと実装を参照してください。
tkbo.surrogates
ソース: tkbo/surrogates/__init__.py
このモジュールには静的解析で検出された公開関数・クラス・定数はありません。
tkbo.surrogates.physbo_gp
ソース: tkbo/surrogates/physbo_gp.py
class PhysBOSurrogate — bases: BaseSurrogate
PHYSBO posterior wrapper used as a regression surrogate.
PHYSBO is naturally designed for discrete candidate search. This wrapper builds a PHYSBO policy using the supplied training points as its test_X. In the tkbo CustomOptimizer, fit() is normally called with the observed subset and predict() is evaluated for X_candidates.
Note
PHYSBO may be more robust when X passed to predict() is identical to the candidate set used at policy construction. For flexible arbitrary-X GPR, use SklearnGPRSurrogate or a future BoTorch surrogate.
コンストラクタ
PhysBOSurrogate(num_rand_basis: int = 200, interval: int = 0, score_mode: str = 'EI', random_seed: int | None = None)
クラス定数
名前 |
値 |
|---|---|
|
|
メソッド/プロパティ
method PhysBOSurrogate.fit
def fit(self, X, y)
ソース内docstringはありません。シグネチャと実装を参照してください。
method PhysBOSurrogate.predict
def predict(self, X, return_std: bool = False)
ソース内docstringはありません。シグネチャと実装を参照してください。
method PhysBOSurrogate.acquisition
def acquisition(self, X, mode: str | None = None)
ソース内docstringはありません。シグネチャと実装を参照してください。
method PhysBOSurrogate.get_params
def get_params(self, deep: bool = True) -> dict[str, Any]
ソース内docstringはありません。シグネチャと実装を参照してください。
tkbo.surrogates.sklearn_gpr
ソース: tkbo/surrogates/sklearn_gpr.py
class SklearnGPRSurrogate — bases: BaseSurrogate
sklearn GaussianProcessRegressor wrapper.
Hyperparameters are optimized by maximizing log marginal likelihood during fit(), not only by cross validation.
コンストラクタ
SklearnGPRSurrogate(kernel = None, alpha: float = 1e-10, normalize_y: bool = True, n_restarts_optimizer: int = 10, random_state: int | None = None, length_scale: float = 1.0, noise_level: float | None = None)
クラス定数
名前 |
値 |
|---|---|
|
|
メソッド/プロパティ
method SklearnGPRSurrogate.fit
def fit(self, X, y)
ソース内docstringはありません。シグネチャと実装を参照してください。
method SklearnGPRSurrogate.predict
def predict(self, X, return_std: bool = False)
ソース内docstringはありません。シグネチャと実装を参照してください。
method SklearnGPRSurrogate.get_params
def get_params(self, deep: bool = True) -> dict[str, Any]
ソース内docstringはありません。シグネチャと実装を参照してください。