如何将名义数据集转换为数值数据集?

机器算法验证 聚类 数据集 特征选择
2022-04-02 12:40:45

对于我的工作,我使用了这个网页的多标签数据集。页面中列出的少数数据集(例如bibtex)具有标称属性,即属性值为 0 和 1。

我的查询如下

  1. 在这些名义数据集上运行 kMeans 聚类算法以获得有意义的中心和目标标签是否有效?

  2. 否则,要运行 kMeans 算法(忘记目标标签),我需要将此标称数据集转换为数值数据集。做它的标准程序是什么。我可以对每个实例进行标准化,但它只是给了我一个实例值相等的实数。

  3. 我还想减少标称数据集的维度,例如 rcv1v2。我该怎么做。我可以使用任何特征选择技术,但它需要优化标准。但就我而言,我需要在这个数据集上比较不同算法的结果,这些算法有不同的优化标准,所以我在选择哪些标准时遇到了麻烦。有没有选择顶级功能的技术?

4个回答

虽然在将名义变量转换为虚拟变量之后,您可以正式对名义数据进行 K-means 聚类,但这被认为是不充分的方法。要有意义地使用 K-means,您必须在尺度(区间或比率)级别上拥有所有变量。

量化一组名义变量的方法之一是应用多重对应分析。它可以看作是一种降维技术,就像 PCA 一样,仅适用于名义数据。如果您愿意,可以使用结果量化(坐标)作为 K-means 的输入。

对于在 RCV1v2 中表示文本文档中出现标记的标称数据,您可以使用TF-IDF转换作为标准化数据的一种方式。

我会使用 Jaccard 距离计算相似度矩阵,然后运行 ​​k-means

k-means 不适合这种数据,原因很简单。

假设您转换数据集,使得值 a = 1、值 b = 2、值 c = 3,由 10 个标签为 a 的对象和 10 个标签为 c 的对象组成的集群的中心值为b即使你有二进制数据,0.1314 的平均值应该是什么意思?

不要转换数据集。选择可以处理二进制属性的适当距离函数,并使用只需要距离而不需要向量空间的算法。需要欧几里得向量空间的方法(例如 k-means,以计算均值)对于那些不是来自欧几里得空间的方法没有意义。