首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文本的分层聚类,按比例排列

文本的分层聚类,按比例排列
EN

Stack Overflow用户
提问于 2015-06-25 17:42:59
回答 1查看 561关注 0票数 0

我有一个很大的数据集(数十亿条记录),它几乎完全由分类变量组成。这些数据将被用来预测一个相当罕见的数值结果。大多数属性都具有很高的基数:可能只有少数几个样本属于每个类别。

我阅读了一篇有趣的论文,其中他们使用R中的分层聚类来降低类似任务的维数。以下代码用于小型数据集,但在扩展时会迅速消耗所有内存:

代码语言:javascript
复制
library(cluster)
numClusters = 42
hc <- hclust(daisy(df))
cutree(hc, k = numClusters)

我考虑过使用Mahout的kmeans实现,但这对于分类变量来说是行不通的,因为它需要一个双倍向量。

StackOverflow社区中有没有人对如何对分类变量进行分级聚类有任何想法或建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-27 10:32:10

我不知道该怎么回答“如何放大?”你的数据集。在这个问题上抛出更多的硬件/RAM,并/或搜索一个聪明的分布式实现(不过,MLLib 1.4并不实现分层集群)。

你的问题有点令人困惑,请阅读我认为是这样的原因。

最后,我不明白分层聚类将如何帮助您预测数值类属性。

如果您确实需要对分类属性进行聚类,请检查EM聚类器/算法的实现,例如在R包RWeka中。默认情况下,EM的实现决定了集群本身的最佳数量(可能在局部最小?)它给出了层次结构中每个分类值的概率,以及每个集群的先验概率。

您可以使用其他群集算法或包。

如果您已经有了带有类属性的培训集,那么不妨尝试使用RWeka::J48()分类器来创建决策树和一些预测。您将得到一些层次化的东西,并且在调优之后,您可以得到任意多的级别。

如果不想使用RWeka,可以使用package::rpart()作为决策树。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31057181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档