I'm trying to understand how does the KernelDensity class in scikit-learn work. Consider the following two cases which build a kernel from two different arrays (a). I'm wondering why the result of scoring on the array b in both cases is the same? Shouldn't a kernel from 10 same points be different from that from 2 points? The one from the 10 points should indicate more density. So, why the final scoring result is the same in both cases? case A: ------------- a = np.array([[1],[1],[1],[1],[1],[1],[1],[1],[1],[1]]) kde = KernelDensity(bandwidth=0.1) kde.fit(a) b = np.array([[1]]) log_dens = kde.score_samples(b) print('Probability is: {}'.format(np.exp(log_dens))) Probability is: [3.9894228] case B: ----------------- a = np.array([[1],[1]]) kde = KernelDensity(bandwidth=0.1) kde.fit(a) b = np.array([[1]]) log_dens = kde.score_samples(b) print('Probability is: {}'.format(np.exp(log_dens))) Probability is: [3.9894228]