diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 12:08:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 12:08:18 +0000 |
commit | 5da14042f70711ea5cf66e034699730335462f66 (patch) | |
tree | 0f6354ccac934ed87a2d555f45be4c831cf92f4a /src/ml/dlib/examples/running_stats_ex.cpp | |
parent | Releasing debian version 1.44.3-2. (diff) | |
download | netdata-5da14042f70711ea5cf66e034699730335462f66.tar.xz netdata-5da14042f70711ea5cf66e034699730335462f66.zip |
Merging upstream version 1.45.3+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/ml/dlib/examples/running_stats_ex.cpp')
-rw-r--r-- | src/ml/dlib/examples/running_stats_ex.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/ml/dlib/examples/running_stats_ex.cpp b/src/ml/dlib/examples/running_stats_ex.cpp new file mode 100644 index 000000000..d94faf35b --- /dev/null +++ b/src/ml/dlib/examples/running_stats_ex.cpp @@ -0,0 +1,58 @@ +// The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt +/* + This is an example illustrating the use of the running_stats object from the dlib C++ + Library. It is a simple tool for computing basic statistics on a stream of numbers. + In this example, we sample 100 points from the sinc function and then then compute the + unbiased sample mean, variance, skewness, and excess kurtosis. + +*/ +#include <iostream> +#include <vector> +#include <dlib/statistics.h> + +using namespace std; +using namespace dlib; + +// Here we define the sinc function so that we may generate sample data. We compute the mean, +// variance, skewness, and excess kurtosis of this sample data. + +double sinc(double x) +{ + if (x == 0) + return 1; + return sin(x)/x; +} + +int main() +{ + running_stats<double> rs; + + double tp1 = 0; + double tp2 = 0; + + // We first generate the data and add it sequentially to our running_stats object. We + // then print every fifth data point. + for (int x = 1; x <= 100; x++) + { + tp1 = x/100.0; + tp2 = sinc(pi*x/100.0); + rs.add(tp2); + + if(x % 5 == 0) + { + cout << " x = " << tp1 << " sinc(x) = " << tp2 << endl; + } + } + + // Finally, we compute and print the mean, variance, skewness, and excess kurtosis of + // our data. + + cout << endl; + cout << "Mean: " << rs.mean() << endl; + cout << "Variance: " << rs.variance() << endl; + cout << "Skewness: " << rs.skewness() << endl; + cout << "Excess Kurtosis " << rs.ex_kurtosis() << endl; + + return 0; +} + |