【问题标题】:SKLearn Multi Classification without Knowing the Classifications in Advance PythonSKLearn 多分类,无需预先了解 Python 中的分类
【发布时间】:2020-01-18 13:47:27
【问题描述】:

我最近开始使用 SKLearn,尤其是分类模型,并且有更多关于用例示例的问题,而不是停留在任何特定的代码位上,所以如果这不是正确的提问地方,请提前道歉诸如此类的问题。

到目前为止,我一直在使用样本数据,其中基于已分类的数据训练模型。以“鸢尾花”数据集为例,所有数据都归入三个物种之一。但是,如果一个人想要在不知道分类的情况下对数据进行分组/分类怎么办。

让我们来看看这个虚构的数据:

  Name  Feat_1  Feat_2  Feat_3  Feat_4
0    A      12    0.10       0    9734
1    B      76    0.03       1   10024
2    C      97    0.07       1    8188
3    D      32    0.21       1    6420
4    E      45    0.15       0    7723
5    F      61    0.02       1   14987
6    G      25    0.22       0    5290
7    H      49    0.30       0    7107

如果想使用不同的功能将名称分成 4 个单独的分类,这是否可能,需要哪种 SKLearn 模型?我不是要任何代码,如果有人能指出我正确的方向,我完全可以自己研究?到目前为止,我只能找到分类已知的示例。

在上面的示例中,如果我想将数据分成 4 个分类,我希望我的结果是这样的(注意新列,表示类):

  Name  Feat_1  Feat_2  Feat_3  Feat_4  Class
0    A      12    0.10       0    9734      4
1    B      76    0.03       1   10024      1
2    C      97    0.07       1    8188      3
3    D      32    0.21       1    6420      3
4    E      45    0.15       0    7723      2
5    F      61    0.02       1   14987      1
6    G      25    0.22       0    5290      4
7    H      49    0.30       0    7107      4

非常感谢您的帮助

【问题讨论】:

    标签: python scikit-learn classification multilabel-classification


    【解决方案1】:

    您可以进行 k-mean 聚类,这将在每次迭代中将数据分组到较小的类中,直到所有数据都被分组到 1 个组中。然后你可以在你想要的类数时提前停止迭代,或者你也可以返回已经训练好的模型来获得你想要的类数。例如,要获得 4 个类,当数据聚集在 4 个类中时,您可以后退 4 步

    sklearn.cluster.KMeans doc

    【讨论】:

      【解决方案2】:

      分类是一种有监督的方法,这意味着训练数据带有特征和标签。如果你想根据特征对数据进行分组,那么你可以选择一些聚类算法(无监督),例如 sklearn.cluster.KMeans(k = 4)。

      【讨论】:

      • 非常感谢您的帮助!
      【解决方案3】:

      从确定集群的无监督方法开始...使用这些集群作为标签。

      我建议使用 sklearn 的 GMM 而不是 k-means

      https://scikit-learn.org/stable/modules/generated/sklearn.mixture.GaussianMixture.html

      K-means 假设圆形簇。

      【讨论】:

      • 谢谢你的朋友,非常感谢你的帮助
      【解决方案4】:

      这个话题叫:unsupervised learning

      一些定义是:

      无监督学习是一种自组织的 Hebbian 学习,它有助于在数据集中找到以前未知的模式,而无需预先存在标签。它也称为自组织,允许对给定输入的概率密度进行建模。 [1]它是机器学习的三大主要类别之一,与监督学习和强化学习一起。还描述了半监督学习,它是监督和无监督技术的混合体。

      那里有很多算法,您需要尝试最适合您的算法的算法,例如:

      【讨论】:

        猜你喜欢
        • 2016-08-10
        • 1970-01-01
        • 2015-07-19
        • 1970-01-01
        • 2021-07-19
        • 1970-01-01
        • 2018-09-12
        • 2018-02-04
        • 2020-11-27
        相关资源
        最近更新 更多