Developer Guide and Reference

  • 2021.6
  • 04/11/2022
  • Public Content
Contents

K-Means initialization

The K-Means initialization algorithm receives LaTex Math image. feature vectors as input and chooses LaTex Math image. initial centroids. After initialization, K-Means algorithm uses the initialization result to partition input data into LaTex Math image. clusters.
Operation
Computational methods
Programming Interface

Mathematical formulation

Programming Interface

All types and functions in this section are declared in the
oneapi::dal::kmeans_init
namespace and be available via inclusion of the
oneapi/dal/algo/kmeans_init.hpp
header file.
Descriptor
template<typename
Float
= float, typename
Method
= method::by_default, typename
Task
= task::by_default>
class
descriptor
Template Parameters
  • Float
    – The floating-point type that the algorithm uses for intermediate computations. Can be
    float
    or
    double
    .
  • Method
    – Tag-type that specifies an implementation of K-Means Initialization algorithm.
  • Task
    – Tag-type that specifies the type of the problem to solve. Can be
    task::init
    .
Constructors
descriptor
(std::int64_t
cluster_count
= 2)
Creates a new instance of the class with the given
cluster_count
.
Properties
std::int64_t
cluster_count
The number of clusters k.
Default value
: 2.
Getter & Setter


std::int64_t get_cluster_count() const
auto & set_cluster_count(int64_t value)

Invariants


cluster_count > 0

Method tags
struct
dense
Tag-type that denotes dense computational method.
struct
parallel_plus_dense
struct
plus_plus_dense
struct
random_dense
using
by_default
= dense
Task tags
struct
init
Tag-type that parameterizes entities used for obtaining the initial K-Means centroids.
using
by_default
= init
Alias tag-type for the initialization task.
Computing
compute(...)
Input
template<typename
Task
= task::by_default>
class
compute_input
Template Parameters
Task
– Tag-type that specifies type of the problem to solve. Can be
task::init
.
Constructors
compute_input
(
const
table &
data
)
Creates a new instance of the class with the given
data
.
Properties
const
table &
data
An LaTex Math image. table with the data to be clustered, where each row stores one feature vector.
Default value
: table{}.
Getter & Setter


const table & get_data() const
auto & set_data(const table &data)

Result
template<typename
Task
= task::by_default>
class
compute_result
Template Parameters
Task
– Tag-type that specifies type of the problem to solve. Can be
oneapi::dal::kmeans::task::clustering
.
Constructors
compute_result
()
Creates a new instance of the class with the default property values.
Properties
const
table &
centroids
A LaTex Math image. table with the initial centroids. Each row of the table stores one centroid.
Default value
: table{}.
Getter & Setter


const table & get_centroids() const
auto & set_centroids(const table &value)

Operation
template<typename
Descriptor
> kmeans_init::compute_result
compute
(
const
Descriptor &
desc
,
const
kmeans_init::compute_input &
input
)
Parameters
  • desc
    – K-Means algorithm descriptor
    kmeans_init::descriptor
  • input
    – Input data for the computing operation
Preconditions


input.data.has_data == true
input.data.row_count == desc.cluster_count

Postconditions


result.centroids.has_data == true
result.centroids.row_count == desc.cluster_count
result.centroids.column_count == input.data.column_count

Examples

oneAPI DPC++
Batch Processing:
oneAPI C++
Batch Processing:

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.