Я использую Python с модулем numpy, scipy и scikit-learn.Рассчитать сходство разреженной матрицы
Я хотел бы классифицировать массивы в очень большой разреженной матрице. (100000 * 100000)
Значения в матрице, равны 0 или 1. Единственное, что у меня есть индекс стоимости = 1.
a = [1,3,5,7,9]
b = [2,4,6,8,10]
что означает
a = [0,1,0,1,0,1,0,1,0,1,0]
b = [0,0,1,0,1,0,1,0,1,0,1]
Как изменить индексный массив на разреженный массив в scipy?
Как можно быстро отсортировать эти массивы?
спасибо.
это заставляет меня задаться вопросом, возможно ли было бы просто сделать всю матрицу, не редка, так как все значения равны 0 или 1 в любом случае, поэтому вместо 64-битного поплавка или около того вы используете только один бит каждый? (я знаю, что это не решает вашу проблему или так, но ваш вопрос заставил меня придумать этот вопрос) – usethedeathstar
Какое сходство вы хотите вычислить? Зачем вам нужна разреженная матрица, а не просто использовать индексы? Как насчет чего-то простого, например len (set (a) & set (b))/float (len (a))? –
На самом деле, я хотел бы сгруппировать эти массивы из подобия. Например, [1,1,1,0] больше напоминает [1,1,0,0], но обратный с [0,0,0,1]. Поскольку количество столбцов и строк велико. Я не знаю, есть ли какой-нибудь метод, который мог бы сделать это раньше. –