【问题标题】:Best approach to doing analysis of sets of tags?分析标签集的最佳方法?
【发布时间】:2012-05-09 18:49:49
【问题描述】:

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

我希望能够进行如下分析:

  • 给定标签有多少个实例?
  • 总体上哪些标签出现频率最高?
  • 标签 X 出现在哪里,还有哪些其他标签最常出现?
  • 所有标签及其旁边的计数的列表
  • 选择数据子集进行类似分析(例如按国家/地区)

与我一起工作的人历来都在 Excel 中解决所有问题(一般业务战略咨询工作),但在这种情况下不会奏效。他们的反应是将项目框架更改为 Excel 可以在数据透视表中处理的东西,但如果我们可以使用更强大的工具来支持更复杂的关系,那就更好了。

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

我也一直在学习 Python(出于不相关的原因),我有点想知道 ORM 工具和一些 Python 代码是否是更好的选择。

然后是 Access 之类的东西(我没有,但如果它是这类东西的最佳选择,我可能愿意获得)。

总之,我很想知道这些分析总体上会有多难,以及哪些工具最适合这项工作。我完全接受我正在以一种倒退的方式思考部分或全部问题的想法,并且欢迎就我在这里所写内容的任何方面提出任何建议。

【问题讨论】:

  • 理想情况下,分析至少会定期进行。

标签: python sql excel ms-access


【解决方案1】:

将所有标签收集到一个列表中,并使用 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)]
>>> 

【讨论】:

    【解决方案2】:

    虽然有关单个标签频率的数据应该很容易构建,但有关标签之间关系的数据却非常困难,属于数据挖掘的范畴。假设您有一个响应表、一个标签表和一个 response_tag 表,我将在非常高的级别上执行以下操作。

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

    这不是一个简单的操作,但它会使用简单的 RDBMS 为您提供结果,而无需使用企业级数据挖掘解决方案。

    【讨论】:

      【解决方案3】:

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

      SQL 作为一种语言对于更复杂的数据分析来说是可怕的(例如,在您真正想要交叉制表的地方等)。

      【讨论】:

        【解决方案4】:

        使用 SQL!它对于数据分析非常强大。它将允许您在未来询问有关数据的问题。你还没有想到的问题。

        虽然 SQL 作为一种语言可能看起来有点麻烦,但它比“真正的”编程语言更容易使用。就您而言,SQL 与 Excel 接口,因此用户可以通过他们熟悉的工具访问数据。

        如果您确实使用 SQL,那么真正的数据库 (SQLLite) 是比 MSAccess 更好的解决方案。

        我对 SQL 作为一种分析工具有足够的感觉,因此我写了一本关于该主题的书,“使用 SQL 和 Excel 进行数据分析”。您可以查看 Amazon cmets (http://www.amazon.com/Data-Analysis-Using-SQL-Excel/dp/0470099518/ref=pd_sim_b_1) 以了解它的效果。

        【讨论】:

          猜你喜欢
          • 2011-02-18
          • 2018-03-11
          • 2022-07-25
          • 1970-01-01
          • 2011-09-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多