bayes_gp_plain プログラム仕様
PHYSBOを用いたガウス過程に基づくベイズ最適化CLIツール。
このスクリプトは、PHYSBOライブラリを使用して、与えられたデータセットに対しガウス過程回帰に基づくベイズ最適化を実行します。 入力ファイルから記述子と目的関数を読み込み、学習データとテストデータに分割します。 その後、指定された獲得関数(EI、PI、TS)を用いて最適な候補点を探索し、 予測された目的関数値の平均と分散、および獲得関数の値を計算します。 結果はExcelファイルに保存され、2D等高線図、パレート図、予測値と獲得関数のプロットによって視覚化されます。 グラフ上でクリックすることで、最も近いデータ点の詳細情報をコンソールに表示する機能も含まれています。
関連リンク: - PHYSBO 公式サイト: https://www.pasums.issp-u-tokyo.ac.jp/physbo/ - PHYSBO 引用情報: https://issp-center-dev.github.io/PHYSBO/manual/master/en/introduction.html
- PHYSBO.bayes_gp_plain.citation(app)[ソース]
PHYSBOの引用情報をコンソールに表示します。
- パラメータ:
app (tkApplication) -- アプリケーションオブジェクト (引用URLの取得に使用)。
- PHYSBO.bayes_gp_plain.execute(app, cparams, wait_by_input=True)[ソース]
ベイズ最適化の主要な実行ロジックをカプセル化します。
データファイルの読み込み、PHYSBOを用いたベイズ最適化の実行、結果の保存、 および等高線図、パレート図、予測値・獲得関数のプロットなどのグラフ描画を行います。 また、グラフ上のクリックイベントを処理し、最も近いデータ点の情報を表示する機能も提供します。
- パラメータ:
app (tkApplication) -- アプリケーションオブジェクト。
cparams (tkParams) -- パラメータオブジェクト。
wait_by_input (bool) -- プログラム終了時にユーザーの入力待ちを行うかどうかのフラグ。
- 戻り値:
処理が成功した場合は None。データ読み込みエラーの場合は None を返して終了する。
- 戻り値の型:
None
- PHYSBO.bayes_gp_plain.get_plot_descriptors(descriptors)[ソース]
プロット用の記述子インデックスとラベルを決定します。
与えられた記述子リストに基づいて、2D/3DプロットのX、Y、Z軸に割り当てる 記述子のインデックスとラベルを生成します。 記述子名に X:, Y:, Z: のプレフィックスが含まれる場合、それらを優先的に割り当てます。
- PHYSBO.bayes_gp_plain.getarg(position, defval=None)[ソース]
コマンドライン引数を安全に取得します。指定された位置に引数がない場合はデフォルト値を返します。
- PHYSBO.bayes_gp_plain.getfloatarg(position, defval=None)[ソース]
コマンドライン引数を浮動小数点数として安全に取得します。
getarg 関数を呼び出し、その結果を pfloat を使用して浮動小数点数に変換します。 引数がない場合や変換できない場合は、指定されたデフォルト値を返します。
- PHYSBO.bayes_gp_plain.getintarg(position, defval=None)[ソース]
コマンドライン引数を整数として安全に取得します。
getarg 関数を呼び出し、その結果を pint を使用して整数に変換します。 引数がない場合や変換できない場合は、指定されたデフォルト値を返します。
- PHYSBO.bayes_gp_plain.initialize()[ソース]
アプリケーションとパラメータのオブジェクトを初期化し、デフォルト値を設定します。
- 戻り値:
初期化されたアプリケーションオブジェクトとパラメータオブジェクト。
- 戻り値の型:
- PHYSBO.bayes_gp_plain.load_data(app, cparams)[ソース]
データファイルを読み込み、記述子と目的関数に分割し、学習データと全データを準備します。 目的関数がNaNの行はテストデータとして扱われます。 目的関数のモード(最小化、目標値)に基づいて値を変換します。
- PHYSBO.bayes_gp_plain.pfloat(s, strict=True, defval=0.0)[ソース]
文字列を浮動小数点数に安全に変換します。変換できない場合は指定されたデフォルト値を返します。
- PHYSBO.bayes_gp_plain.pint(s, strict=True, defval=0)[ソース]
文字列を整数に安全に変換します。変換できない場合は指定されたデフォルト値を返します。
- PHYSBO.bayes_gp_plain.pintfloat(s, strict=True, defval=0.0)[ソース]
文字列を整数に、それが失敗した場合は浮動小数点数に安全に変換します。 どちらも変換できない場合は指定されたデフォルト値を返します。
- PHYSBO.bayes_gp_plain.read_data_file(app, infile)[ソース]
指定されたファイルからデータを読み込み、Pandas DataFrameとして返します。 Excel (.xlsx) または CSV (.csv) ファイルに対応しています。
- パラメータ:
app (tkApplication) -- アプリケーションオブジェクト (エラーメッセージ表示に使用)。
infile (str) -- 読み込むデータファイルのパス。
- 戻り値:
読み込んだデータを格納したPandas DataFrame、またはエラー発生時は None。
- 戻り値の型:
pd.DataFrame or None
- PHYSBO.bayes_gp_plain.replace_path(path, template, ext_dict)[ソース]
指定されたパスをテンプレートと拡張辞書に基づいて整形します。
パスの各要素(フルパス、ディレクトリ名、ファイル名、ファイル本体、拡張子)が ext_dict に追加され、テンプレート文字列をフォーマットするために使用されます。
- PHYSBO.bayes_gp_plain.split_raw_data(df_original)[ソース]
DataFrameの列ヘッダーを解析し、目的関数 (ターゲット) と記述子に分割します。 ヘッダーに特定の制御コード(=value:, max:, min:, to:)が含まれる場合、 それに応じて目的関数とそのモードを識別します。
- PHYSBO.bayes_gp_plain.terminate(app, message=None, usage=None, pause=False)[ソース]
プログラムを終了します。オプションでメッセージを表示し、使用法を表示し、ユーザーの入力待ちを行うことができます。
- パラメータ:
app (tkApplication) -- アプリケーションオブジェクト。
message (str or None) -- 終了前に表示するメッセージ。
usage (function or None) -- 使用法を表示する関数。None の場合は表示しない。
pause (bool) -- 終了前にユーザーの入力待ちを行うかどうかのフラグ。
- class PHYSBO.bayes_gp_plain.tkApplication(_globals=None, locals=None, **args)[ソース]
ベースクラス:
tkObjectアプリケーション全体のコンテキストと設定を管理するためのクラス。
パラメータ、コマンドライン引数、スクリプトパス、使用法文字列などを保持します。
- class PHYSBO.bayes_gp_plain.tkObject[ソース]
ベースクラス:
object汎用的な基底オブジェクトクラス。
辞書形式の属性操作、属性の更新、属性情報の表示機能を提供します。
- get(key, defval=None)[ソース]
指定されたキーの属性値を取得します。キーが存在しない場合はデフォルト値を返します。
- パラメータ:
key (str) -- 取得する属性のキー。
defval (any) -- キーが存在しない場合に返すデフォルト値。
- 戻り値:
属性値、またはデフォルト値。
- 戻り値の型:
any
- printinf(app)[ソース]
オブジェクトの全ての属性情報をコンソールに出力します。
- パラメータ:
app (tkApplication) -- アプリケーションオブジェクト (現在は未使用だが引数として定義されている)。
- class PHYSBO.bayes_gp_plain.tkParams(parameter_file=None, **args)[ソース]
ベースクラス:
tkObjectアプリケーションのパラメータを管理するためのクラス。
tkObjectを継承し、コマンドライン引数やファイルから読み込んだパラメータを格納します。
- printinf(app)[ソース]
オブジェクトの全ての属性情報をコンソールに出力します。
- パラメータ:
app (tkApplication) -- アプリケーションオブジェクト (現在は未使用だが引数として定義されている)。
- PHYSBO.bayes_gp_plain.update_vars(app, cparams)[ソース]
コマンドライン引数に基づいて、アプリケーションのパラメータを更新します。
sys.argvから引数を読み込み、cparams オブジェクトの対応する属性に設定します。
- パラメータ:
app (tkApplication) -- アプリケーションオブジェクト。
cparams (tkParams) -- 更新するパラメータオブジェクト。
- PHYSBO.bayes_gp_plain.usage(app)[ソース]
プログラムの使用法メッセージと引用情報をコンソールに表示します。
- パラメータ:
app (tkApplication) -- アプリケーションオブジェクト (パラメータと使用法文字列の取得、引用情報の表示に使用)。