用于执行线性装箱的python函数

linear_binning的Python项目详细描述


Build Status

linear_binning: linear binning

执行Wand and Jones中描述的线性装箱技术 在任意维数的规则间隔网格上。这个 asymptotic behavior 这种组合技术的性能优于所谓的简单组合 (如直方图)。d-维空间中的每个数据点必须 具有相关权重(对于同等权重的点,只需使用权重 每个点的1.0的)。

例如,在具有角点A、B、C和D的二维网格(A段)内 以及具有权重wp:

的2d数据点p
A-----------------------------------B
|        |                          |
|                                   |
|        |                          |
|- - - - P- - - - - - - - - - - - - |
|        |                          |
D-----------------------------------C
  • 给角A分配P和C之间面积比例的权重 (乘以wp)
  • 将权重分配给p和d之间面积比例的角b (乘以wp)
  • 给角C分配P和A之间面积比例的权重 (乘以wp)
  • 将权重分配给p和b之间面积比例的角d (乘以wp)

注意,当 指定每个维度中网格点的数量(网格点动作 作为垃圾箱中心)。例如,如果希望网格点以0.1步为单位 在[0,1]范围内(即(0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1)), 指定轴网点数为11。在内部,网格点 存储在一个连续的数组中。这对 分配内存时沿每个维度的网格点数 每个潜在的网格点,即使它从未被使用过。适应 任意维数,任意精度的数字库 (boost multiprecision) 可能在内部使用,会对性能产生负面影响。如果这个 性能下降是不可接受的,考虑减少 以小于最大数量的方式 系统上“无符号长”中的二进制数字。

快速启动

  • 线性安装

示例

这将在单位平方中构造一百万个随机二维点 随机加权并构造由51组成的网格(可以是 沿着不同的维度不同)线性组合的“仓中心”。 仓中心网格的边界由extents和指定 可以认为是底部和溢流箱(即,这些是 第一个和最后一个bin中心的坐标)。

fromlinear_binningimportlinear_binningimportnumpyasnp# generate one million random 2D points and weights# (should take less than a second to bin)n_samples=1000000D=2# coordinates, weights, and extents must be of type "double"sample_coords=np.random.random(size=(n_samples,D))sample_weights=np.random.random(size=n_samples)extents=np.tile([0.,1.],D).reshape((D,2))n_bins=np.full(D,51)coords,weights=linear_binning(sample_coords,sample_weights,extents,n_bins)# check that weights on grid match original weightsprint(np.allclose(weights.sum(),sample_weights.sum()))

依赖性

  • 努比

1.1.0

添加了对自动将numpy数组转换为正确的d类型的支持。 添加了更明确的测试。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java有可能让Glassfish JAAS领域与一个已安装的应用程序共享一些类吗?   卸载weblogic时发生java log4j错误   java如何读取信息并将这些信息放入对象数组中   java线程池执行器。创建新线程时执行(Runnable命令)   java无法将project facet动态Web模块的版本更改为2.5   未添加到ArrayList Java Android的元素   javajavax。xml。绑定UnmarshaleException:意外元素(uri:,local:“ProcessCreditApplication”)。预期的元素是   java如何通过youtube API获取已删除视频的列表   如何在JavaBean验证中停止级联   java为什么我的ListView使我的应用程序崩溃,而不是列出我的条目?   java Guice多数据库自动切换   java(JDA)Mute命令在代码的第四行中断   推荐一种可通过Java中的随机访问进行更新的索引文件格式   java将arrayList添加到2x2 arrayList   java json对象数据发生变化,有时没有值   java使用Jedis库在redis中一次存储字符串列表   java快速排序分区   java setDaemon(false)是冗余的吗?   Java中的itext格式pdf