Scikit-learn:为什么KernelDensity.score()提供的结果与GaussianMixture.score()不同?

时间:2017-09-27 12:07:46

标签: python scikit-learn kernel-density

将参数统计建模方法(高斯混合建模 - GMM)与非参数统计建模方法(核密度估算 - KDE)进行比较,我想使用Akaike信息准则(AIC)来考虑参数化组件用于高斯混合建模。

Scikit-learn GaussianMixture类包含一个直接返回AIC的.aic(X)方法。 KernelDensity类不包含此方法。在编程算法时,我注意到GaussianMixture.score(X)方法对两个类都有不同的作用。

GaussianMixture.score(X) returns

log_likelihood:float

给出X的高斯混合的对数似然。

KernelDensity.score(X) returns:

logprob:float

X中数据的总对数似然。

虽然我的代码没有直接问题,但我想知道这是否是故意的,如果是的话,那个目的是什么。在我发现差异之前,它确实导致了最初的误导性结果,这就是为什么我把它放在stackoverflow上,以防其他人发现同样的问题。

0 个答案:

没有答案