分析标签集合的最佳方法是什么?

根据答复的内容,我已经有成千上万的调查回答被标记了。 每个响应可以有一个标签或多个(最多20个),而且这些标签是相互独立的,而不是被构造成类别子类别或其他东西。

我希望能够做如下的分析:

  • 给定标签有多less个实例?
  • 哪个标签总体上最常出现?
  • 在标签X存在的情况下,哪些其他标签最常出现?
  • 所有标签列表中的每一个旁边的计数
  • select数据的子集进行类似的分析(例如,按国家)

与我一起工作的人传统上一直在处理Excel中的所有事情(一般的业务策略咨询工作),在这种情况下这是行不通的。 他们的回应是将项目框架改为Excel可以在数据透视表中处理的东西,但是如果我们可以使用更强大的工具来实现更复杂的关系,情况会好得多。

我一直在学习SQLite,但是我开始担心,我想要做的事情会非常复杂。

我也一直在学习Python(因为不相关的原因),有些人想知道ORM工具和一些Python代码可能是更好的方法。

然后有一些像Access(我没有,但可能会愿意得到,如果它是这种事情的甜蜜点)。

总而言之,我很想知道,这些分析是多么困难,总的来说,哪些工具最适合这项工作。 我完全接受这样一个观点,即我正在思考一些或所有问题,并且以任何方式向我提出任何build议。

收集所有的标签到列表中,并使用python collections.Counter和相关的方法来获取频率和其他统计数据。 像这样

>>> from collections import Counter >>> x=['java', 'python', 'scheme', 'scheme', 'scheme', 'python', 'go', 'go', 'c', ... 'c'] >>> freqs = Counter(x) >>> freqs.most_common(1) [('scheme', 3)] >>> 

尽pipe关于单个标签的频率的数据应该是非常简单的,但是关于标签之间的关系的数据是非常困难的,并且落在数据挖掘的领域。 假设你有一个响应表,一个标记表和一个response_tag表,这就是我所要做的。

创build一个汇总表,其中列出了每个响应标签的唯一组合,以及一个表示该组合发生次数的列。 表结构应该是combination (id, count)combination_tags(combination_id, tag_id) 。 使用过程语句(ORM或SQL游标)填充表,然后使用即席查询来对数据进行抽样。

这不是一个简单的操作,但它会使用简单的RDBMS获得结果,而不必使用企业级数据挖掘解决scheme。

你有一个非常小的数据集,所以你不需要任何forms的ORM,只需要在Python中加载所有的数据并咀嚼它的报告。

SQL作为一种语言对于更复杂的数据分析来说是非常可怕的(例如,你真的想要交叉expression事物等)。

用SQL去吧! 数据分析function非常强大。 这将允许您在未来提出有关数据的问题。 你还没有想到的问题。

尽pipeSQL作为一种语言似乎有点麻烦,但比“真正的”编程语言使用起来要容易得多。 在你的情况下,SQL接口到Excel,所以用户可以通过他们熟悉的工具访问数据。

如果你真的去了SQL,一个真正的数据库(SQLLite)是比MSAccess更好的解决scheme。

作为一个分析工具,我在SQL中已经足够强大,因此我写了一本关于“使用SQL和Excel进行数据分析”的书。 您可以查看亚马逊评论(http://www.amazon.com/Data-Analysis-Using-SQL-Excel/dp/0470099518/ref=pd_sim_b_1)以了解其效果如何。