Итак, я делаю некоторую классификацию Kmeans, используя множество довольно редких массивов - много-много нулей. Я подумал, что буду использовать пакет scipy 'sparse', чтобы уменьшить накладные расходы на хранилище, но я немного запутался в том, как создавать массивы, а не матрицы.
Я прошел через это руководство по созданию разреженных матриц: http://www.scipy.org/SciPy_Tutorial#head-c60163f2fd2bab79edd94be43682414f18b90df7
Чтобы имитировать массив, я просто создаю матрицу 1xN, но, как вы можете догадаться, Asp.dot (Bsp) не совсем работает, потому что вы не можете умножить две матрицы 1xN. Мне пришлось бы транспонировать каждый массив в Nx1, и это довольно глупо, поскольку я буду делать это для каждого вычисления скалярного произведения.
Затем я попытался создать матрицу NxN, где столбец 1 == строка 1 (так что вы можете перемножить две матрицы и просто взять верхний левый угол в качестве скалярного произведения), но это оказалось действительно неэффективным.
Я бы хотел использовать sparse package scipy в качестве волшебной замены array () numpy, но пока я не совсем уверен, что делать.
Любой совет?