mirror of https://github.com/davisking/dlib.git
Added the compute_mean_squared_distance() function.
--HG-- extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%403419
This commit is contained in:
parent
35377a88e3
commit
0350895dc7
|
@ -9,6 +9,7 @@
|
||||||
#include "feature_ranking_abstract.h"
|
#include "feature_ranking_abstract.h"
|
||||||
#include "kcentroid.h"
|
#include "kcentroid.h"
|
||||||
#include "../optimization.h"
|
#include "../optimization.h"
|
||||||
|
#include "../statistics.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
namespace dlib
|
namespace dlib
|
||||||
|
@ -448,6 +449,28 @@ namespace dlib
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
template <
|
||||||
|
typename T,
|
||||||
|
typename alloc
|
||||||
|
>
|
||||||
|
double compute_mean_squared_distance (
|
||||||
|
const std::vector<T,alloc>& samples
|
||||||
|
)
|
||||||
|
{
|
||||||
|
running_stats<double> rs;
|
||||||
|
for (unsigned long i = 0; i < samples.size(); ++i)
|
||||||
|
{
|
||||||
|
for (unsigned long j = i+1; j < samples.size(); ++j)
|
||||||
|
{
|
||||||
|
rs.add(length_squared(samples[i] - samples[j]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return rs.mean();
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,6 +107,23 @@ namespace dlib
|
||||||
standard out during its processing.
|
standard out during its processing.
|
||||||
!*/
|
!*/
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
template <
|
||||||
|
typename T,
|
||||||
|
typename alloc
|
||||||
|
>
|
||||||
|
double compute_mean_squared_distance (
|
||||||
|
const std::vector<T,alloc>& samples
|
||||||
|
);
|
||||||
|
/*!
|
||||||
|
requires
|
||||||
|
- for all valid i: is_vector(samples[i]) == true
|
||||||
|
ensures
|
||||||
|
- computes the average value of the squares of all the pairwise
|
||||||
|
distances between every element of samples.
|
||||||
|
!*/
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue