当我被实例化类的新方式以及之间没有一对一映射的事实所困扰时,我正在尝试更新即将被弃用的scikit-learn在另一个包中的调用旧的和新的实例化参数。
具体来说,old Gaussian Mixture Model class有这个实例化调用
class sklearn.mixture.GMM(n_components=1, covariance_type='diag', random_state=None, thresh=0.01, min_covar=0.001)
同时new Gaussian Mixture Model class有这个实例化签名:
class 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)```
从manual我读过那篇
min_covar:float,optional
协方差矩阵的对角线上的地板,以防止过度拟合。 默认为1e-3。
我在scikit-learn git(以及其他使用scikit-learn的git repos)上发现了几个未解决的问题,并且了解某些差异,例如不再使用固定权重,precissions
是逆协方差。我似乎无法跟踪的是这个新类中代表min_covar
参数的内容?
事实上,现在我甚至对旧班级中min_covar
参数的确切目的感到困惑。我把手册摘录意味着这是协方差矩阵对角线上允许的最小协方差值,但新类中的参数似乎都没有暗示这样的事情发生了。
所以要重新迭代:min_covar
在旧GMM
类中做了什么,新类min_covar
中是否有属性映射,如果不是,我应该怎么做关于复制min_covar
的效果还是完全弃用的功能?