eagpytorch.Classifier package¶
Module contents¶
- 
class eagpytorch.Classifier.Approximate(*, inducing_points_num=0.5, kernel='RBFKernel', likelihood='BernoulliLikelihood', optimizer='Adam', mll='VariationalELBO', ard_option=True, ker_conf={}, mll_conf={}, opt_conf={}, random_state=None)[source]¶
- Bases: - eagpytorch._base_ApproximateGP.RunApproximateGP- ApproximateGPModelの実行クラス - Parameters
- inducing_points_num (int or float) – - 補助変数の個数(int) - もし 0 < inducing_points_num < 1 が渡された場合、学習用データの len と inducing_points_num の積が補助変数の個数として設定される 
- kernel (str or - gpytorch.kernels, default- 'RBFKernel') –- 使用するカーネル関数を指定する。下記から選択する。 - 'CosineKernel'
- 'LinearKernel'
- 'MaternKernel'
- 'PeriodicKernel'
- 'RBFKernel'
- 'RQKernel'
- 'SpectralMixtureKernel'
 - 基本はstrで指定されることを想定しているものの、 - gpytorch.kernelsを用いた自作のカーネル関数を入力することも可能
- likelihood (str, default - 'GaussianLikelihood') –- likelihoodとして使用するクラス名が指定される。 - 'BernoulliLikelihood': likelihoodにベルヌーイ分布を仮定した二値分類ガウス過程モデルを行う場合
 
- optimizer (str, default - 'Adam') –- optimizerとして使用するクラス名が指定される。下記から選択する。 - 'Adam'
- 'sgd'
- 'RMSprop'
- 'Adadelta'
- 'Adagrad'
 
- mll (str, default - 'VariationalELBO') –- 確率分布の周辺化の方法のクラス名が指定される。下記から選択する。 - 'VariationalELBO',- 'VELBO'
- 'PredictiveLogLikelihood',- 'PLL'
- 'GammaRobustVariationalELBO',- 'GRVELBO'
 
- ard_option (bool, default True) – - ARDカーネルを利用するかが指定される - もし - kernel_coeffを利用する場合 ard_option=True を選択する
- ker_conf (dict, default dict()) – カーネル関数に渡す設定 
- mll_conf (dict, default dict()) – mllに渡す設定 
- opt_conf (dict, default dict()) – optimizerに渡す設定 
- random_state (int, default None) – seedの固定 
 
 - 
fit(epochs, *, test_dataloader=None, verbose=True)[source]¶
- 学習用メソッド - Parameters
- epochs (int) – エポック数 
- test_dataloader ( - torch.utils.data.DataLoader, default None) –- テストデータをまとめたデータローダー - もし test_dataloader を設定している場合エポックごとにテストデータに対するlossも表示されるように設定される 
- verbose (bool, default True) – 表示形式 
 
 
 - 
kernel_coeff()[source]¶
- kernelの係数を出力するメソッド - Returns
- output_dict – カーネル関数の係数 - ard_option=True の場合、 $Theta$ が各々の説明変数ごとに重みを変えて更新され、出力される 
- Return type
- dict 
 - Warning - RBFKernelの場合、各説明変数の重要度 $eta$ は出力される ‘base_kernel.raw_lengthscale’ の逆数の2乗に対応する 
 - 
plot_kernel(*, kernel=None, plot_range=None, **kwargs)[source]¶
- カーネル関数のプロット - Parameters
- kernel (str or - gpytorch.kernels, default None) – 使用するカーネル関数を指定する
- plot_range (tuple, default None) – プロットする幅 
- **kwargs (dict) – カーネル関数に渡す設定 
 
 
 - 
predict(X, *, cl=0.6827, sample_num=None, sample_f_num=None)[source]¶
- 予測用メソッド - Parameters
- X (np.array or torch.tensor) – 入力説明変数 
- cl (float default 0.6827(1sigma)) – 信頼区間 
- sample_num (int default None) – yのサンプル数 
- sample_f_num (int default None) – fのサンプル数 
 
- Returns
- output – 予測された目的変数のオブジェクト。下記の属性が用意されている。 - output.samples : 入力説明変数に対する予測値yのサンプル(sample_num個サンプルされる) 
- output.samples_f : 入力説明変数に対する予測関数fのサンプル(sample_f_num個サンプルされる) 
- output.probs : 2値分類の予測確率。 
 
- Return type
- object 
 
 - 
set_model(train_x, train_y, *, lr=0.001, batch_size=128, shuffle=True)[source]¶
- 使用するモデルのインスタンスを立てるメソッド - Parameters
- train_x (np.array or torch.tensor) – 学習用データセットの説明変数 
- train_y (np.array or torch.tensor) – 学習用データセットの目的変数 
- lr (float) – 学習率 
- batch_size (int, default 128) – ミニバッチでのデータ数 
- shuffle (bool, default True) – 学習データをシャッフルしてミニバッチ学習させるかを設定 
 
 
 
- 
class eagpytorch.Classifier.Exact(*, kernel='RBFKernel', likelihood='GaussianLikelihood', optimizer='Adam', mll='ExactMarginalLogLikelihood', ard_option=True, ker_conf={}, opt_conf={}, mll_conf={}, random_state=None)[source]¶
- Bases: - eagpytorch._base_ExactGP.RunExactGP- ExactGPModelの実行クラス - Parameters
- kernel (str or - gpytorch.kernels, default- 'RBFKernel') –- 使用するカーネル関数を指定する。下記から選択する。 - 'CosineKernel'
- 'LinearKernel'
- 'MaternKernel'
- 'PeriodicKernel'
- 'RBFKernel'
- 'RQKernel'
- 'SpectralMixtureKernel'
 - 基本はstrで指定されることを想定しているものの、 - gpytorch.kernelsを用いた自作のカーネル関数を入力することも可能
- likelihood (str, default - 'GaussianLikelihood') –- likelihoodとして使用するクラス名が指定される。 - 'GaussianLikelihood',- 'GL': likelihoodにガウス分布を仮定したガウス過程を行う場合
 
- optimizer (str, default - 'Adam') –- optimizerとして使用するクラス名が指定される。下記から選択する。 - 'Adam'
- 'sgd'
- 'RMSprop'
- 'Adadelta'
- 'Adagrad'
 
- mll (str, default - 'ExactMarginalLogLikelihood') –- 確率分布の周辺化の方法のクラス名が指定される。 - 'ExactMarginalLogLikelihood'
 
- ard_option (bool, default True) – - ARDカーネルを利用するかが指定される - もし - kernel_coeffを利用する場合 ard_option=True を選択する
- ker_conf (dict, default dict()) – カーネル関数に渡す設定 
- mll_conf (dict, default dict()) – mllに渡す設定 
- opt_conf (dict, default dict()) – optimizerに渡す設定 
- random_state (int, default None) – seedの固定 
 
 - 
fit(epochs, *, test_x=None, test_y=None, verbose=True)[source]¶
- 学習用メソッド - Parameters
- epochs (int) – エポック数 
- test_x (np.ndarray or torch.tensor, default None) – 説明変数のテストデータ 
- test_y (np.ndarray or torch.tensor, default None) – - 目的変数のテストデータ - もし test_x, test_y を設定している場合エポックごとにテストデータに対するlossも表示されるように設定される 
- verbose (bool, default True) – 表示形式 
 
 
 - 
kernel_coeff()[source]¶
- kernelの係数を出力するメソッド - Returns
- output_dict – カーネル関数の係数 - ard_option=True の場合、 $Theta$ が各々の説明変数ごとに重みを変えて更新され、出力される 
- Return type
- dict 
 - Warning - RBFKernelの場合、各説明変数の重要度 $eta$ は出力される ‘base_kernel.raw_lengthscale’ の逆数の2乗に対応する 
 - 
plot_kernel(*, kernel=None, plot_range=None, **kwargs)[source]¶
- カーネル関数のプロット - Parameters
- kernel (str or - gpytorch.kernels, default None) – 使用するカーネル関数を指定する
- plot_range (tuple, default None) – プロットする幅 
- **kwargs (dict) – カーネル関数に渡す設定 
 
 
 - 
predict(X, *, cl=0.6827, sample_num=None, sample_f_num=None)[source]¶
- 予測用メソッド - Parameters
- X (np.array or torch.tensor) – 入力説明変数 
- cl (float default 0.6827(1sigma)) – 信頼区間 
- sample_num (int default None) – yのサンプル数 
- sample_f_num (int default None) – fのサンプル数 
 
- Returns
- output – 予測された目的変数のオブジェクト。下記の属性が用意されている。 - output.samples : 入力説明変数に対する予測値yのサンプル(sample_num個サンプルされる) 
- output.samples_f : 入力説明変数に対する予測関数fのサンプル(sample_f_num個サンプルされる) 
- output.probs : 2値分類の予測確率。 
 
- Return type
- object