使用 4 个参数对数据集进行聚类和标记
Posted
技术标签:
【中文标题】使用 4 个参数对数据集进行聚类和标记【英文标题】:Clustering and labeling data set with 4 parameters 【发布时间】:2018-07-26 20:53:41 【问题描述】:这是一个加载的问题,它是我的第一个“现实生活”机器学习实验,如此简单的问题。
我在 CSV 文件中有类似这样的 USPTO 批量数据:
Name Class Subclass Category Subcategory
Lightpack circuitboard E 1 4 9
Lego blocks F 2 56 12
D/C connector E 3 4 1
Colorful dog hat D 6 10 1
Grandma's shoes D 2 11 1
Low temp resistor O 2 4 10
我想要的是能够运行受监督的机器学习环境来对常见对象进行分组(在我的实际数据中还有很多,但这是一个简单的示例)。我希望能够找到一组通用的 class、subclass、category 和 subcategory在所有电子产品中,并将它们分组到电子产品“箱”中(即:Lightpack 电路板、D/C 连接器和低温电阻器),但不确定如何进行。
目前我正在使用 Python 和 sklearn 进行更简单的建模,但不确定如何在给定的 4 个参数下进行测试和训练,并且我没有可比较的标记集(无验证)。
是否会创建一个伪标签集以使其受到更多建议,或者我可以采取一种无监督的方法吗?正如我之前所说,这是我在 ML 中的第一次真正测试。
【问题讨论】:
【参考方案1】:无监督算法是你需要的。(Why so?)
这里您需要了解的关键概念是Multivariate distances 是什么以及如何计算它们。然后就可以申请K-means集群了。
您也可以阅读PCA 并使用它。您可能需要缩放变量才能使 PCA 正常工作。
【讨论】:
在我继续学习的同时,是否有任何基本算法可以帮助我开始这个过程?我发现在概念上我理解这些想法 - 问题是将这些概念转化为我遇到障碍的实际代码。 K-means 在无监督学习方面本身就是一种基本算法。你可以在互联网上找到它的实现。只是一个建议,用单变量学习 k-means,然后选择多变量。我相信这可以回答您的疑问;如果没有,请告诉我。【参考方案2】:正如正确指出的那样,您可以使用任何聚类算法(K-means 或其变体、分层聚类、EM 算法。该过程遵循一种简单易行的方法将数据点分类到一定数量的聚类。作为数字集群的数量未知,因为 K 意味着您可以尝试使用不同级别的 K 并使用 Elbow 方法选择一个最合适的或层次聚类将让您找到最佳 k
【讨论】:
以上是关于使用 4 个参数对数据集进行聚类和标记的主要内容,如果未能解决你的问题,请参考以下文章