Saya pikir masalah utama adalah untuk mendapatkan jarak berpasangan secara efisien. Setelah Anda memiliki sisanya adalah elemen bijaksana.
Untuk melakukan ini, Anda mungkin ingin menggunakan Scipy. Fungsi scipy.spatial.distance.pdist
melakukan apa yang Anda butuhkan, dan scipy.spatial.distance.squareform
mungkin akan memudahkan hidup Anda.
Jadi jika Anda ingin matriks kernel yang Anda lakukan
from scipy.spatial.distance import pdist, squareform
# this is an NxD matrix, where N is number of items and D its dimensionalites
X = loaddata()
pairwise_dists = squareform(pdist(X, 'euclidean'))
K = scip.exp(-pairwise_dists ** 2 / s ** 2)
Dokumentasi dapat ditemukan di sini .