Sto usando Python con il modulo numpy, scipy e scikit-learn.Calcola la similarità della matrice sparsa
Vorrei classificare gli array in una matrice sparsa molto grande. (100.000 * 100.000)
I valori nella matrice sono uguali a 0 o 1. L'unica cosa che ho è l'indice del valore = 1.
a = [1,3,5,7,9]
b = [2,4,6,8,10]
che significa
a = [0,1,0,1,0,1,0,1,0,1,0]
b = [0,0,1,0,1,0,1,0,1,0,1]
Come posso modificare l'array di indici sull'array sparse in scipy?
Come classificare questi array rapidamente?
Grazie mille.
questo mi domando, sarebbe possibile fare solo l'intera matrice non-sparse, dal momento che tutti i valori sono 0 o 1 comunque, quindi invece di 64bit per float o così, si usa solo un bit ciascuno? (So che questo non risolve il tuo problema, ma la tua domanda mi ha fatto venire questa domanda) – usethedeathstar
Che tipo di somiglianza vuoi calcolare? Perché hai bisogno della matrice sparsa, invece di usare solo gli indici? Che ne dici di qualcosa di semplice come len (set (a) e set (b))/float (len (a))? –
In realtà, mi piacerebbe raggruppare questi array dalla similarità. Ad esempio [1,1,1,0] è più simile a [1,1,0,0] ma inverso con [0,0,0,1]. Poiché il numero di colonne e righe è grande. Non so se esiste un metodo in grado di farlo prima. –