直方图中最大箱的计数,C#,尖锐

本文关键字:尖锐 直方图 | 更新日期: 2023-09-27 18:31:32

我想制作我的数据的直方图,所以我使用 MathNet.Numerics.Statisticsc# 中使用直方图类。

double[] array = { 2, 2, 5,56,78,97,3,3,5,23,34,67,12,45,65 };
Vector<double> data = Vector<double>.Build.DenseOfArray(array);
int binAmount = 3;
Histogram _currentHistogram = new Histogram(data, binAmount);

如何获取最大箱的计数?或者只是最大垃圾箱的索引?我尝试使用 GetBucketOf 来获取它,但要做到这一点,我需要这个存储桶中的元素:(还有其他方法可以做到这一点吗?我阅读了文档和谷歌,但找不到任何东西。

直方图中最大箱的计数,C#,尖锐

嗨,我会为此发表评论,但我今天刚刚加入,还没有 50 个声誉可以评论!我只是看了一下 - http://numerics.mathdotnet.com/api/MathNet.Numerics.Statistics/Histogram.htm。该文档页面(页脚说它是使用 http://docu.jagregory.com/构建的)显示了一个名为 Item 的公共属性,该属性返回一个存储桶。我想知道这是否是您需要使用的属性,因为自动生成的文档指出 Item 属性"获取"第 n 个存储桶",但不清楚 Item 属性如何充当索引器。查看您的代码,我会先尝试_currentHistogram.Item[n](如果这不起作用,请尝试_currentHistogram[n]),您使用类似的东西迭代直方图中的存储桶 -

var countOfBiggest = -1;
var indexOfBiggest = -1;
for (var n = 0; n < _currentHistogram.BucketCount; n++)
{
    if (_currentHistogram.Item[n].Count > countOfBiggest)
    {
        countOfBiggest = _currentHistogram.Item[n].Count;
        indexOfBiggest = n;
    }
}

上面的代码假定直方图使用从 0 开始而不是从 1 开始的索引。