GMM 函数的 GaussianMixture 等价物 (sklearn python)
GaussianMixture equivalents for GMM functions (sklearn python)
我正在处理从协作者那里收到的代码,它包含来自 sklearn 中已弃用的 GMM class 的两个函数:
distribute_covar_matrix_to_match_covariance_type
log_multivariate_normal_density
由于我不太熟悉它背后的数学原理,所以我很难在新的 GaussianMixture class 中找到等效的函数。任何帮助将不胜感激!
调用函数的代码部分如下:
for x in models:
bics=[]
gmm = mixture.GMM(n_components=x, n_iter=100000, n_init=5, covariance_type='full')
gmm.fit(np.array(s))
bic.append(gmm.bic(np.array(s)))
return bic.index(min(bic))+2
解决方法:只需将 "GMM" 替换为 "GaussianMixture",将 "n_iter" 替换为 "max_itern":
for x in models:
bics=[]
gmm = mixture.GaussianMixture(n_components=x, max_iter=100000, n_init=5, covariance_type='full')
gmm.fit(np.array(s))
bic.append(gmm.bic(np.array(s)))
return bic.index(min(bic))+2
谢谢@Vivek Kumar
我正在处理从协作者那里收到的代码,它包含来自 sklearn 中已弃用的 GMM class 的两个函数: distribute_covar_matrix_to_match_covariance_type log_multivariate_normal_density
由于我不太熟悉它背后的数学原理,所以我很难在新的 GaussianMixture class 中找到等效的函数。任何帮助将不胜感激!
调用函数的代码部分如下:
for x in models:
bics=[]
gmm = mixture.GMM(n_components=x, n_iter=100000, n_init=5, covariance_type='full')
gmm.fit(np.array(s))
bic.append(gmm.bic(np.array(s)))
return bic.index(min(bic))+2
解决方法:只需将 "GMM" 替换为 "GaussianMixture",将 "n_iter" 替换为 "max_itern":
for x in models:
bics=[]
gmm = mixture.GaussianMixture(n_components=x, max_iter=100000, n_init=5, covariance_type='full')
gmm.fit(np.array(s))
bic.append(gmm.bic(np.array(s)))
return bic.index(min(bic))+2
谢谢@Vivek Kumar