ruby-on-rails - 将值绘制到 Rails 中的直方图上

标签 ruby-on-rails algorithm statistics histogram ranking

我意识到有几个 histogram gems ,但我的问题有点独特。我不需要任何类型的图表或图像。我的 Rails 应用程序有一个算法,可以给每个用户一个 0 到 1 之间的分数。例如billybob 的 raw_score 可能是 .00901,而 frankiejoe 的 raw_score 可能是 .00071。

先不说我为什么要这样做,我想在直方图上绘制这些值,然后将平均值 raw_score 映射为 50%,将平均值加标准差映射为大约 65% (平均值减去 35% 时的标准偏差),平均值加上 80% 时的 2 x 标准偏差等。因此每个标准偏差单位为 15 个百分位数。

我不需要实际的直方图图表/图像,我只需要它们在加载到直方图后对应的直方图值。我本质上是将数字转换成更美观的分数,例如billybob 的 histogram_score 现在可能是 .987 而 frankiejoe 的可能是 .471。目前,它只有几十个用户或分数,但我希望能够处理数千个用户/分数。

我想将转换后的值存储到我的数据库中。我现在拥有的数字是 raw_score:decimal,我会将它们存储为 histogram_score:decimal

我如何在我的 Rails 应用程序中执行此操作?

谢谢!

最佳答案

想通了。所以 descriptive_statistics gem 将为我完成此任务。

require 'descriptive_statistics'
data = [0.15, 0.25, 0.10, 0.05, 0.35, 0.10]
data.map {|score| data.percentile_rank(score)}
 => [66.66666666666666, 83.33333333333334, 50.0, 16.666666666666664, 100.0, 50.0]

在我的例子中,我只是遍历每个用户的 raw_score 并将其存储为 percentile_score。效果很好!

关于ruby-on-rails - 将值绘制到 Rails 中的直方图上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31945119/

相关文章:

ruby-on-rails - 如何测试不存在的 Controller Action ?

Python、Pandas 和卡方独立性检验

r - 两个相关系数差异的显着性检验

mysql - 两个不同的 View 具有不同的数据库排序顺序(default_scope)

ruby-on-rails - Rails 和 RVM : Where to find . rvm 文件夹访问 update_system.log?

java - 这个选择排序代码有什么问题?

algorithm - 从集合中选择元素,概率与元素值成正比

oracle - ORA_HASH函数使用的算法是什么?

python - 无法修复 ValueError ("endog must be in the unit interval")

ruby-on-rails - 提交按钮的 CSS Sprite 不起作用(在 Rails 3 中)