Benzerlik numpy, scipy ve scikit-öğrenme modülü ile Python kullanıyorum.Hesaplayın Seyrek Matris
Dizileri çok büyük seyrek matrislerde sınıflandırmak istiyorum. (100,000 * 100,000)
matristeki değerler, 0 ya da 1'e eşit bir tek şey değer endeksidir =
a = [0,1,0,1,0,1,0,1,0,1,0]
b = [0,0,1,0,1,0,1,0,1,0,1]
anlamına 1.
a = [1,3,5,7,9]
b = [2,4,6,8,10]
Dizin dizisini scipy'deki seyrek diziye nasıl değiştirebilirim?
Bu dizileri nasıl hızlı bir şekilde sınıflandırabilirim?
Çok teşekkür ederim.
Ya da 1 her neyse, bu yüzden float başına 64bit yerine, her biri sadece bir bit kullanıyorsunuz? (Bu sorunun senin problemini çözmediğini biliyorum, ama senin sorunun bu soruya gelmemi sağladı) – usethedeathstar
Ne tür bir benzerlik hesaplamak istiyorsun? Neden endeksleri kullanmak yerine seyrek matrise ihtiyacınız var? Len (set (a) & set (b))/float (len (a)) gibi basit bir şeye ne dersiniz? –
Aslında, bu diziyi benzerlikten gruplamak istiyorum. Örneğin, [1,1,1,0] daha çok [1,1,0,0] gibidir, fakat [0,0,0,1] ile tersidir. Sütun ve satırların sayısı büyük olduğundan. Bilemiyorum, herhangi bir yöntem daha erken yapabilirdi. –