【问题标题】:Gaussian Mixture Model cross-validation高斯混合模型交叉验证
【发布时间】:2020-05-29 15:35:03
【问题描述】:

我想交叉验证我的高斯混合模型。目前我使用sklearn的cross_validation方法如下。

clf = GaussianMixture(n_components=len(np.unique(y)), covariance_type='full')
cv_ortho = cross_validate(clf, parameters_train, y, cv=10, n_jobs=-1, scoring=scorer)

我看到 cross_validation 正在使用 y_train 训练我的分类器,使其成为有监督的分类器。

try:
    if y_train is None:
        estimator.fit(X_train, **fit_params)
    else:
        estimator.fit(X_train, y_train, **fit_params)

但是,我想交叉验证一个无监督分类器clf.fit(parameters_train)。我知道分类器然后分配自己的类标签。因为,我有两个不同的集群(见图)和y 我可以破译相应的标签。然后交叉验证。 sklearn 中是否有这样的例程?

类似于本例的例程:https://scikit-learn.org/stable/auto_examples/mixture/plot_gmm_covariances.html

【问题讨论】:

    标签: python-3.x testing scikit-learn


    【解决方案1】:

    似乎典型的交叉验证既没有意义,也没有用于无监督学习(参见交叉验证堆栈交换的this question)。

    为什么没有意义?

    在严格的情况下,交叉验证需要关于模型提供的“正确”标签或值的一些基本事实。在 scikit-learn 方法定义中通常表示为 y。 当您以无监督方式进行训练时,训练不受监督的纯粹概念意味着没有 y 标签;没有真正的标签,没有“基本事实”。 这也在this answerevaluation of unsupervised learning 上的一个问题中提出(这是一个比交叉验证更广泛的术语)。

    【讨论】:

      猜你喜欢
      • 2021-09-30
      • 2020-03-26
      • 2023-03-24
      • 2014-01-09
      • 2012-05-08
      • 2013-06-11
      • 2019-09-17
      • 2013-05-19
      • 2017-02-26
      相关资源
      最近更新 更多