【问题标题】:How to perform Associative Mining on CSV data? [closed]如何对 CSV 数据进行关联挖掘? [关闭]
【发布时间】:2014-07-24 15:36:27
【问题描述】:

我有以下 CSV 数据集。数据表示:A、B、C、D 和 F - 实体。第 2 列是规则,最后一列是该实体针对特定规则的排名。

A,Rule_1,1
B,Rule_1,1
C,Rule_1,2
D,Rule_1,1
E,Rule_1,2
F,Rule_1,3
A,Rule_2,3
B,Rule_2,1
C,Rule_2,2
D,Rule_2,1
E,Rule_2,2
F,Rule_2,1

我基本上想对具有规则 i 和 j 等级的实体数量执行关联挖掘(最多 3 个实体),并创建一个 bucket_ij。基于此,我想找出给定排名为 1 的实体,哪些实体最有可能排名为 2。所以当 A、B、D = 1 然后 C、E = 2 时。我该如何执行这个关联当某些实体排名为 1 时,在哪里挖掘,排名为 2 的实体是什么?

【问题讨论】:

  • 太好了,听起来很有趣。那么你的问题是什么?
  • @Cyber​​ 感谢您的讽刺。我已经更新了这个问题。我基本上想找出给定排名为 1 的某些实体,哪些实体最有可能排名为 2。
  • 好的,那么到目前为止您尝试过什么(如果有的话)?
  • @jonrsharpe 这就是为什么我在这里发布问题以获得有关问题的一些指示。现在,我刚刚加载了文件并将文件内容放入列表中。如果条件足够,我不确定是使用字典还是简单。
  • 如果你还没有开始,我建议这更适合Programmers

标签: python associations data-mining associative


【解决方案1】:

您可以使用pandas。 首先,您必须在 csv 文件中命名您的列:

Entities,Rule,Rank
A,Rule_1,1
B,Rule_1,1
C,Rule_1,2
D,Rule_1,1
E,Rule_1,2
F,Rule_1,3
A,Rule_2,3
B,Rule_2,1
C,Rule_2,2
D,Rule_2,1
E,Rule_2,2
F,Rule_2,1

然后将其保存在某个地方。

import pandas

pathToCsvFile = 'C:\\file.csv' #for example

df = pandas.DataFrame.from_csv(pathToCsvFile,index_col=None)
df.groupby(('Entities','Rank')).count()

我认为这样你就可以得到你想要的。它将计算每个实体排名的次数。 输出:

Entities  Rank
A         1       1
          3       1
B         1       2
C         2       2
D         1       2
E         2       2
F         1       1
          3       1

或者:

from scipy import stats
df.groupby(('Entities')).agg(lambda x:stats.mode(x)[0]).Rank

将为每个实体获取模式。 输出:

Entities
A           1
B           1
C           2
D           1
E           2
F           1

【讨论】:

    猜你喜欢
    • 2010-10-25
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    • 2018-07-15
    • 2016-03-03
    • 2015-04-29
    • 2013-04-26
    • 2018-10-23
    相关资源
    最近更新 更多