mlpack
3.4.2
mlpack-3.4.2
src
mlpack
methods
kmeans
sample_initialization.hpp
Go to the documentation of this file.
1
14
#ifndef __MLPACK_METHODS_KMEANS_SAMPLE_INITIALIZATION_HPP
15
#define __MLPACK_METHODS_KMEANS_SAMPLE_INITIALIZATION_HPP
16
17
#include <
mlpack/prereqs.hpp
>
18
#include <
mlpack/core/math/random.hpp
>
19
20
namespace
mlpack
{
21
namespace
kmeans {
22
23
class
SampleInitialization
24
{
25
public
:
27
SampleInitialization
() { }
28
37
template
<
typename
MatType>
38
inline
static
void
Cluster
(
const
MatType& data,
39
const
size_t
clusters,
40
arma::mat& centroids)
41
{
42
centroids.set_size(data.n_rows, clusters);
43
for
(
size_t
i = 0; i < clusters; ++i)
44
{
45
// Randomly sample a point.
46
const
size_t
index =
math::RandInt
(0, data.n_cols);
47
centroids.col(i) = data.col(index);
48
}
49
}
50
};
51
52
}
// namespace kmeans
53
}
// namespace mlpack
54
55
#endif
mlpack::kmeans::SampleInitialization::SampleInitialization
SampleInitialization()
Empty constructor, required by the InitialPartitionPolicy type definition.
Definition:
sample_initialization.hpp:27
prereqs.hpp
The core includes that mlpack expects; standard C++ includes and Armadillo.
mlpack::kmeans::SampleInitialization::Cluster
static void Cluster(const MatType &data, const size_t clusters, arma::mat ¢roids)
Initialize the centroids matrix by randomly sampling points from the data matrix.
Definition:
sample_initialization.hpp:38
random.hpp
Miscellaneous math random-related routines.
mlpack
Linear algebra utility functions, generally performed on matrices or vectors.
Definition:
add_to_cli11.hpp:21
mlpack::math::RandInt
int RandInt(const int hiExclusive)
Generates a uniform random integer.
Definition:
random.hpp:110
mlpack::kmeans::SampleInitialization
Definition:
sample_initialization.hpp:24
Generated by
1.8.20