我有数以千计的调查回复,这些回复已根据回复的内容进行了标记。每个响应可以有一个标签或多个标签(最多20个),标签彼此独立,而不是构造成类别子类别或其他东西。
我希望能够进行如下分析:
与我合作的人传统上处理Excel中的所有内容(一般业务战略咨询工作),在这种情况下不起作用。他们的回应是将项目框架更改为Excel可以在数据透视表中处理的内容,但如果我们可以使用更强大的工具来实现更复杂的关系,那将会更好。
我一直在学习SQLite,但我开始担心我想要做的事情会非常复杂。
我也一直在学习Python(出于无关的原因),并且有点想知道ORM工具和一些Python代码是否是更好的方法。
然后有一些类似Access的东西(我没有,但如果它是这类东西的最佳位置,可能会愿意获得)。
总之,我想知道这些分析总体上有多么难以完成,哪种工具最适合这项工作。我完全接受这样的想法,即我正以一种倒退的方式思考一些或所有问题,并欢迎就我在这里所写的任何方面提出任何建议。
答案 0 :(得分: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)]
>>>
答案 1 :(得分:1)
虽然有关单个标签频率的数据构建起来非常简单,但有关标签之间关系的数据非常困难,属于数据挖掘领域。假设您有一个响应表,一个标记表和一个response_tag表,这就是我要做的非常高级的事情。
创建一个汇总表,列出每个唯一的响应标记组合,以及一个列,该列将指示此组合发生的次数。表格结构应类似于combination (id, count)
,combination_tags(combination_id, tag_id)
。使用过程语句(ORM或SQL游标)填充表,然后使用即席查询对数据进行采样。
这不是一个简单的操作,但它可以使用简单的RDBMS获得结果,而无需使用企业级数据挖掘解决方案。
答案 2 :(得分:1)
你有一个非常小的数据集,所以你真的不需要任何类型的ORM,只需加载Python中的所有数据并咀嚼它的报告。
SQL作为一种语言对于更复杂的数据分析来说是非常糟糕的(例如,你真正想要交叉的东西等)。
答案 3 :(得分:0)
使用SQL!它对数据分析非常有用。它将允许您将来提出有关数据的问题。你还没有想过的问题。
虽然SQL作为一种语言看起来有点麻烦,但它比“真正的”编程语言更容易使用。在您的情况下,SQL与Excel接口,因此用户可以通过他们熟悉的工具访问数据。
如果使用SQL,真正的数据库(SQLLite)是比MSAccess更好的解决方案。
作为一种分析工具,我在SQL中感觉非常强烈,我写了一本关于“使用SQL和Excel进行数据分析”主题的书。您可以查看亚马逊的评论(http://www.amazon.com/Data-Analysis-Using-SQL-Excel/dp/0470099518/ref=pd_sim_b_1),了解它的效果。