.. _dataset: Dataset ======= The ``oneapi::mkl::stats::dataset`` structure consolidates information of a multi-dimensional dataset. .. contents:: :local: :depth: 1 API *** Syntax ------ .. code-block:: cpp namespace oneapi::mkl::stats { template .. code-block:: cpp namespace oneapi::mkl::stats { struct dataset {} } **Buffer API specialization** .. code-block:: cpp namespace oneapi::mkl::stats { templatestruct dataset> { explicit dataset(std::int64_t n_dims_, std::int64_t n_observations_, sycl::buffer observations_, sycl::buffer weights_ = {0}, sycl::buffer indices_ = {0}) : n_dims(n_dims_), n_observations(n_observations_), observations(observations_), weights(weights_), indices(indices_); std::int64_t n_dims; std::int64_t n_observations; sycl::buffer observations; sycl::buffer weights = {0}; sycl::buffer indices = {0}; static constexpr layout layout = ObservationsLayout; }; } **USM API specialization** .. code-block:: cpp namespace oneapi::mkl::stats { template< layout ObservationsLayout, typename Type> struct dataset { explicit dataset(std::int64_t n_dims_, std::int64_t n_observations_, Type* observations_, Type* weights_ = nullptr, std::int64_t* indices_ = nullptr) : n_dims(n_dims_), n_observations(n_observations_), observations(observations_), weights(weights_), indices(indices_); std::int64_t n_dims; std::int64_t n_observations; Type* observations; Type* weights = nullptr; std::int64_t* indices = nullptr; static constexpr layout layout = ObservationsLayout; }; } Include Files -------------- - ``oneapi/mkl/stats.hpp`` Template Parameters ------------------- .. list-table:: :header-rows: 0 * - \ ``typename DataType``\ - Type of dataset. May be ``sycl::buffer``, ``sycl::buffer`` (for buffer-based dataset) or ``float*``, ``double*`` (for USM-based dataset). * - \ ``oneapi::mkl::stats::layout ObservationsLayout``\ - Layout of the observations matrix of the dataset. The specific values are as follows: \ ``oneapi::mkl::stats::layout::row_major``\ \ ``oneapi::mkl::stats::layout::col_major``\ Struct Members ---------------- .. list-table:: :header-rows: 1 * - Name - Type - Description * - n_dims - \ ``std::int64_t``\ - The number of dimensions (variables) * - n_observations - \ ``std::int64_t``\ - The number of observations * - layout - \ ``oneapi::mkl::stats::layout``\ - Characterize the matrix of observations layout (row or column major) * - observations - \ ``sycl::buffer / Type*``\ - Matrix of observations. * - weights - \ ``sycl::buffer / Type*``\ - Array of weights of size n_observations. Elements of the arrays are non-negative numbers. If the parameter is not specified, each observation is assigned a weight equal to 1. * - indices - \ ``sycl::buffer / std::int64_t*``\ - Array of vector components that will be processed. Size of array is ``n_dims``. If the parameter is not specified, all components of the vector are processed.