Covariance

Covariance algorithm computes the following set of quantitative dataset characteristics:

  • means

  • covariance

  • correlation

Operation

Computational methods

Programming Interface

dense

dense

compute(…)

compute_input

compute_result

Mathematical formulation

Refer to Developer Guide: Covariance.

Programming Interface

All types and functions in this section are declared in the oneapi::dal::covariance namespace and are available via inclusion of the oneapi/dal/algo/covariance.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 algorithm. Can be method::dense.

  • Task – Tag-type that specifies the type of the problem to solve. Can be task::compute.

Constructors

descriptor() = default

Creates a new instance of the class with the default property values.

Properties

result_option_id result_options

Choose which results should be computed and returned.

Getter & Setter
result_option_id get_result_options() const
auto & set_result_options(const result_option_id &value)

Method tags

struct dense

Tag-type that denotes dense computational method.

using by_default = dense

Alias tag-type for the dense computational method.

Task tags

struct compute

Tag-type that parameterizes entities that are used to compute statistics.

using by_default = compute

Alias tag-type for the compute task.

Training compute(...)

Input

template<typename Task = task::by_default>
class compute_input
Template Parameters

Task – Tag-type that specifies the type of the problem to solve. Can be task::compute.

Constructors

compute_input(const table &data)

Creates a new instance of the class with the given data property value.

Properties

const table &data

An \(n \times p\) table with the training data, where each row stores one feature vector. Default value: table{}.

Getter & Setter
const table & get_data() const
auto & set_data(const table &value)

Result

template<typename Task = task::by_default>
class compute_result
Template Parameters

Task – Tag-type that specifies the type of the problem to solve. Can be task::compute.

Constructors

compute_result()

Creates a new instance of the class with the default property values.

Properties

const table &cov_matrix

The covariance matrix. Default value: table{}.

Getter & Setter
const table & get_cov_matrix() const
auto & set_cov_matrix(const table &value)
const result_option_id &result_options

Result options that indicates availability of the properties. Default value: default_result_options<Task>.

Getter & Setter
const result_option_id & get_result_options() const
auto & set_result_options(const result_option_id &value)
const table &cor_matrix

The correlation matrix. Default value: table{}.

Getter & Setter
const table & get_cor_matrix() const
auto & set_cor_matrix(const table &value)
const table &means

Means. Default value: table{}.

Getter & Setter
const table & get_means() const
auto & set_means(const table &value)

Operation

template<typename Descriptor>
covariance::compute_result compute(const Descriptor &desc, const covariance::compute_input &input)
Parameters
  • desc – Covariance algorithm descriptor covariance::descriptor

  • input – Input data for the computing operation

Preconditions
input.data.is_empty == false