将参数统计建模方法(高斯混合建模 - 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上,以防其他人发现同样的问题。