
我想在109.258找到当地的最低点,最简单的方法是确定109.258的计数是否低于一些时间周期内的平均计数(包括109.258).确定这个间隔是我最困难的部分.
至于这个数据的来源,它是一个直径为100个不均匀的宽度.每个仓都有一个值(在x轴上显示),以及落入该仓的样本数(在y轴上显示).我想要做的是找到分割直方图的“最佳”位置.作为分类算法的一部分,分割的每一边都以二叉树向下传播.
我认为我最好的做法是尝试用曲线拟合这个直方图,使用像Levenberg-Marquardt algorithm这样的东西,然后比较当地的最小值来找到“最好的”. “最佳”的适当措施将包括该分割的重要性的一些指示,其被测量为左侧间隔中的平均计数与在右侧间隔中的计数的平均值之间的差异,然后可能将每个差异与包含的计数数量进行权重,以获得“最佳”的综合测量,如果这是有道理的.
无论哪种方式,算法的计算复杂度不是一个巨大的问题,100个bin是关于我期望遇到的最大数量.然而,这个计算将对每个样本执行一次,因此保持线性相对于数目的数量当然是理想的.
顺便说一下,我正在C中做所有的事情,并利用boost库和STL,所以在这方面没有任何限制.
关于最佳做法的任何想法或见解将不胜感激!
@H_404_15@解决方法 如果我理解正确,kmore希望根据最大间隔(直方图计数和仓距)的产生分割两个“峰值”.如果是这样的话:>查找所有最大值.>对于每个最大构建矩形,如图1所示.>查找具有最大白色区域的矩形,这样可以让x范围找到所需的bin 109.258
总结以上是内存溢出为你收集整理的c – 确定直方图中的局部最小值全部内容,希望文章能够帮你解决c – 确定直方图中的局部最小值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)