GaussianMixture initialization using component parameters - sklearn

前端 未结 3 1448
刺人心
刺人心 2021-02-10 01:16

I want to use sklearn.mixture.GaussianMixture to store a gaussian mixture model so that I can later use it to generate samples or a value at a sample point using score_sam

3条回答
  •  独厮守ぢ
    2021-02-10 01:58

    To understand what is happening, what GaussianMixture first checks that it has been fitted:

    self._check_is_fitted()
    

    Which triggers the following check:

    def _check_is_fitted(self):
        check_is_fitted(self, ['weights_', 'means_', 'precisions_cholesky_'])
    

    And finally the last function call:

    def check_is_fitted(estimator, attributes, msg=None, all_or_any=all):
    

    which only checks that the classifier already has the attributes.


    So in short, the only thing you have missing to have it working (without having to fit it) is to set precisions_cholesky_ attribute:

    gmix.precisions_cholesky_ = 0
    

    should do the trick (can't try it so not 100% sure :P)

    However, if you want to play safe and have a consistent solution in case scikit-learn updates its contrains, the solution of @J.P.Petersen is probably the best way to go.

提交回复
热议问题