【问题标题】:Python clustering from .csv file as input来自 .csv 文件的 Python 聚类作为输入
【发布时间】:2016-07-09 18:20:35
【问题描述】:

我正在尝试找到一种类似的方法来使用 Python 执行集群,就像使用 Weka 一样。

我试过 scipy,但是它得到一个数组作为输入。

我拥有的是一个 .csv 文件,其中包含

objectId, attribute1, attribute2, .., attributeN
e.g. '1234', 0, 1, 0,1,1,1, ..., 0

Attribute1,2,..,N 获取值 0 和 1。

有没有办法加载上述 .csv 文件并使用 python 库执行聚类并获取每个 objectId 所属的聚类?

我的 .csv 文件包含 300.000 条 ojectId 记录。

我已将我的 .csv 文件转换为 weka 的 .arff 格式,但执行聚类需要长达 6 小时,因此我正在寻找一种更快的方法来执行此操作,并希望 python 库会更快。

提前致谢。

【问题讨论】:

  • 试试 ELKI,它比 Weka 快很多,而且工作原理类似。

标签: python csv cluster-analysis weka


【解决方案1】:

我不知道这是不是你想要的,但是:

读取 .csv:

f = open('yourcsv.csv', mode='r')

content = f.readlines()

现在您可以创建一个列表来添加所有信息

cluster = []

for line in content:
  list = line.decode('utf-8').strip().split(',')
  cluster[list[0]] = list[1 : len(list) - 1]

// 现在您可以像这样访问所有信息了

objectId = 'someIdentifier'

info = cluster[objectId]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 2018-09-02
    • 2020-05-21
    • 2018-07-27
    相关资源
    最近更新 更多