【问题标题】:Creating density estimate in numpy在 numpy 中创建密度估计
【发布时间】:2016-03-02 06:05:24
【问题描述】:
import numpy as np
np.random.random((5,5))

array([[ 0.26045197,  0.66184973,  0.79957904,  0.82613958,  0.39644677],
       [ 0.09284838,  0.59098542,  0.13045167,  0.06170584,  0.01265676],
       [ 0.16456109,  0.87820099,  0.79891448,  0.02966868,  0.27810629],
       [ 0.03037986,  0.31481138,  0.06477025,  0.37205248,  0.59648463],
       [ 0.08084797,  0.10305354,  0.72488268,  0.30258304,  0.230913  ]])

我想从这个二维数组创建一个二维密度估计,这样类似的值就意味着更高的密度。有没有办法在 numpy 中做到这一点?

【问题讨论】:

  • 当您说二维密度估计时,似乎暗示您将在二维空间中工作?从您的矩阵看来,您要么需要一维密度估计,要么需要五分之一的维度?
  • @DavidMaust 这是一个二维矩阵。你的意思是? User308827:“相似的值意味着更高的密度”---你的意思是,密度与矩阵中值之间的差异成正比吗?就目前而言,您的问题非常不清楚。
  • 我想要澄清的是二维空间中的点具有坐标对。 (x_1, y_1), (x_2, y_2)... 从 5x5 矩阵中,每个点应该被单独视为 1D 空间中的 25 个点,或者它们应该被视为 5D 空间中的 5 个点。我没有看到这些点在 2D 空间中是如何存在的。

标签: python numpy


【解决方案1】:

我同意,您的意思确实不完全清楚。 numpy.histogram 函数为您提供数组的密度。

import numpy as np
array = np.random.random((5,5))
print array

density = np.histogram(array, density=True)
print(density)

然后您可以绘制密度,例如使用 Matplotlib。 这里有一个很好的讨论:How does numpy.histogram() work?

【讨论】:

    猜你喜欢
    • 2019-08-07
    • 2019-12-21
    • 2014-03-17
    • 2017-05-25
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 2021-01-25
    • 2017-05-09
    相关资源
    最近更新 更多