Я пытаюсь использовать библиотеку hcluster в python. У меня недостаточно знаний Python, чтобы использовать разреженную матрицу в hcluster. Пожалуйста, помогите мне кто-нибудь. Итак, вот что я делаю:
import os.path
import numpy
import scipy
import scipy.io
from hcluster import squareform, pdist, linkage, complete
from hcluster.hierarchy import linkage, from_mlab_linkage
from numpy import savetxt
from StringIO import StringIO
data.dmp содержит матрицу, похожую на:
A B C D
A 0 1 0 1
B 1 0 0 1
C 0 0 0 0
D 1 1 0 0
и содержит только верхнюю правую часть матрицы. Я не знаю, как правильно написать по-английски :) так что все числа выше главной диагонали
поэтому data.dmp содержит: 1 0 1, 0 1, 0
f = file('data.dmp','r')
s = StringIO(f.readline()).getvalue()
f.close()
matrix = numpy.asarray(eval("["+s+"]"))
по неизвестной мне причине, hcluster использует инвертированные значения, например, я использую 0, если A! = C, и использую 1, если A == D
sqfrm = squareform(matrix)
Y = pdist(sqfrm, metric="cosine")
связь Y
Z = linkage(Y, method="complete")
Итак, мне нужна матрица Z (если я правильно использовал hcluster?)
Но у меня есть следующие проблемы:
Я хочу использовать разреженную матрицу для
огромное количество входных данных, потому что пришло время
потреблять для генерации входных данных
как сейчас, мне нужно импортировать данные в
питон с другого языка, вот
почему мне нужно прочитать текстовый файл. пожалуйста
любезно, гуру питона подскажут как
сделать это?
Для людей, которые использовали Python
Hcluster, мне нужно обработать огромный
количество данных, сотни строк,
это можно сделать в hcluster?
Этот алгоритм действительно производит правильный
HAC
Спасибо за чтение, я ценю любую помощь!