記事のディレクトリ
前書き
GaussianMixtureは、ガウス混合分布sklearn-GaussianMixtureでのEMアルゴリズムの実装です。
GaussianMixture
from sklearn.mixture import GaussianMixture
sklearn.mixture.GaussianMixture(n_components=1, *, covariance_type='full', tol=0.001, reg_covar=1e-06,
max_iter=100,n_init=1, init_params='kmeans', weights_init=None, means_init=None,
precisions_init=None, random_state=None,warm_start=False, verbose=0, verbose_interval=10)
説明
このAPIは、ガウス混合モデルの確率分布を表し、ガウス混合分布のパラメーターの推定を可能にします。
パラメータ
n_components:int、default = 1
ガウス混合モデルの数、デフォルトは1
covariance_type:{'full'、 'tied'、 'diag'、 'spherical'}、default = 'full'
は共分散のタイプを記述します;デフォルトは 'full'、完全な共分散行列fullは完全な共分散行列(要素はゼロではない)を
指しますtiedは同じ完全な共分散行列(HMMトピックモデルで使用)を
指しますdiagは対角共分散行列を指します(非対角はゼロ、対角はゼロではありません)
球形とは、球形の共分散行列を指します(非対角角はゼロ、対角線はまったく同じ、球形の特性)
tol:float、default = 1e-3
EM反復停止しきい値、デフォルトは1e-3です。
reg_covar:float、default = 1e-6
:共分散対角非負正則化、共分散行列が正であることを確認するため、デフォルトは0です
max_iter:int、default = 100
最大反復回数、デフォルト100
n_init:int、default = 1の
初期化時間、最適な初期パラメーターを生成するために使用されます。デフォルトは1です。
init_params:{'kmeans'、 'random'}、default = 'kmeans'
初期化パラメーターの実装方法。デフォルトではkmeansを実装するか、ランダムに生成することを選択できます。
weights_init:配列のような形状(n_components、)、default = None
重みの初期化。自分で設定できます。Noneの場合は、init_paramsメソッドを使用して重みを初期化します。
mean_init:配列のような形状(n_components、n_features)、default = Noneで
平均値を初期化します。Noneの場合は、init_paramsメソッドを使用して初期化します。
precisions_init:配列のような、デフォルト=なし
初期化の精度(共分散行列の逆行列)。
Noneの場合は、「init_params」メソッドを使用して精度を初期化します。形状は「covariance_type」によって異なります(n_components、)if'spherical '、
(n_features、n_features)if'tied'、
(n_components、n_features)if'diag '、
(n_components、n_features、n_features)if'full'
random_state:int、RandomStateインスタンスまたはNone、default = None
乱数シード、繰り返し出力に使用
warm_start:bool、default =
False'warm_start 'がTrueの場合、最後の近似の解が次のfit()の呼び出しの初期化パラメーターとして使用されます。これは、同じ問題に対する複数の近似の場合に適しており、次のことができます。収束を加速します。デフォルトはFalseです。この場合、「n_init」は無視され、最初の呼び出しで1回の初期化のみが発生します。
verbose:int、default = 0
出力が冗長かどうか
。1の場合、現在の初期化と各反復ステップを出力します。
1より大きい場合は、対数確率と各ステップに必要な時間も出力されます。
verbose_interval:int、default = 10
次の印刷までに完了した反復回数。これは、verboseの出力頻度を制御します。
属性
weights_:
各混合モデルの配列のような形状(n_components、)の重み
mean_:配列のような形状(n_components、n_features)
各混合モデルの平均
covariances_:
各混合モデルの配列のような共分散。行列のサイズは、covariance_typeで定義された共分散行列のタイプによって異なります。(n_components、)if'spherical '、
(n_features、n_features)if'tied'、
(n_components、n_features)if'diag '、
(n_components、n_features、n_features)if'full'
precisions_:配列のような
混合モデルの各モデルの精度行列。精度行列は共分散行列の逆行列です。
形状はcovariance_typeによって異なります。(n_components、)if'spherical '、
(n_features、n_features)if'tied'、
(n_components、n_features)if'diag '、
(n_components、n_features、n_features)if'full'
precisions_ cholesky_:配列のような
各混合成分の
精度行列のコレスキー分解各混合モデルの精度行列のコレスキー分解の形状は
、covariance_typeによって異なります。(n_components、)if'spherical '、
(n_features、n_features)if'tied'、
(n_components、n_features)if'diag '、
(n_components、n_features、n_features)if'full'
収束_:bool
fit()が収束に達するとTrue、それ以外の場合はFalse
n_iter_:intEM
が収束に達したときの反復回数
lower_bound_:float
EMが収束に達すると、対数尤度の下限値
方法
aic(X)
は、現在のモデルのaic(赤池情報量基準)を返します。
bic(X)
は、現在のモデルのbic(ベイズ情報量基準)を返します
fit(X、y = None)
EMアルゴリズムを使用してモデルパラメータを推定します。
このメソッドはモデルのn_init時間に適合します。このメソッドは、下限の変更がtol未満になるまで、EステップとMステップの間でmax_iter時間を繰り返します。 ConvergenceWarningを引き起こします。
warm_startがTrueの場合、n_initは無視され、最初の呼び出しで初期化が実行されます。
fit_predict(X、y = None)
は、Xを使用してモデルパラメーターを推定し、Xのラベルを予測して、ラベルを返します。
get_params(deep = True)deep = Trueの
場合、この推定量
のパラメーターを返しますパラメーターマッピングを辞書形式で返します
予測(X)
は、トレーニングモデルを使用して、Xのデータサンプルのラベルを予測し、ラベルを返します。
Forecast_proba(X)
は、指定されたデータの各コンポーネントの事後確率を予測します
sample(n_samples = 1)
は、近似されたガウス分布からランダムサンプルを生成します
score(X、y = None)
は、指定されたデータXの各サンプルの平均対数尤度を計算します。
score_samples(X)
は、各サンプルの加重対数確率を計算します
set_params(** params)
は推定器のパラメーターを設定します。** params:dict
は推定されたインスタンスを返します
公式ケース