# Glossary

## Machine learning terms

- Categorical feature
- Classification
predict what type of object is on the picture (a dog or a cat?), predict whether or not an email is spamExamples:- Clustering
- An unsupervised machine learning problem of grouping feature vectors into bunches, which are usually encoded as nominal values.
find big star clusters in the space imagesExample: - Continuous feature
- CSV file
- A comma-separated values file (csv) is a type of a text file. Each line in a CSV file is a record containing fields that are separated by the delimiter. Fields can be of a numerical or a text format. Text usually refers to categorical values. By default, the delimiter is a comma, but, generally, it can be any character. For more details, see.
- Dimensionality reduction
- A problem of transforming a set of feature vectors from a high-dimensional space into a low-dimensional space while retaining meaningful properties of the original feature vectors.
- Feature
- A particular property or quality of a real object or an event. Has a defined type and domain. In machine learning problems, features are considered as input variable that are independent from each other.
attribute, variable, input variableSynonyms: - Feature vector
- A vector that encodes information about real object, an event or a group of objects or events. Contains at least one feature.
A rectangle can be described by two features: its width and heightExample: - Inference
- A process of applying a trained model to the dataset in order to predict response values based on input feature vectors.
predictionSynonym: - Inference set
- Interval feature
- A continuous feature with values that can be compared, added or subtracted, but cannot be multiplied or divided.
a time frame scale, a temperature in Celsius or FahrenheitExamples: - Label
- A response with categorical or ordinal values. This is an output in classification and clustering problems.
the spam-detection problem has a binary label indicating whether the email is spam or notExample: - Model
- Nominal feature
- A categorical feature without ordering between values. Only equality operation is defined for nominal features.
a person’s gender, color of a carExamples: - Nu-classification
- An SVM-specific classification problem where parameter is used instead of . is an upper bound on the fraction of training errors and a lower bound of the fraction of the support vector.
- Nu-regression
- An SVM-specific regression problem where parameter is used instead of . is an upper bound on the fraction of training errors and a lower bound of the fraction of the support vector.
- Observation
- A feature vector and zero or more responses.
instance, sampleSynonyms: - Ordinal feature
- A categorical feature with defined operations of equality and ordering between values.
student’s gradeExample: - Outlier
- Observation which is significantly different from the other observations.
- Ratio feature
- A continuous feature with defined operations of equality, comparison, addition, subtraction, multiplication, and division. Zero value element means the absence of any value.
the height of a towerExample: - Regression
predict temperature based on weather conditionsExample:- Response
- A property of some real object or event which dependency from feature vector need to be defined in supervised learning problem. While a feature is an input in the machine learning problem, the response is one of the outputs can be made by the model on the inference stage.
dependent variableSynonym: - Result options:
- Result options are entities that mimic C++ enums. They are used to specify which results of an algorithm should be computed. The use of result options may alter the default algorithm flow and result in performance differences. In general, fewer results to compute means faster performance. An error is thrown when you use an invalid set of result options or try to access the results that are not yet computed.
k-NN Classification algorithm can perform classification and also return indices and distances to the nearest observations as a result option.Example: - Search
- A kNN-specific optimization problem of finding the point in a given set that is the closest to the given points.
- Supervised learning
- Training
- A process of creating a model based on information extracted from a training set. Resulting model is selected in accordance with some quality criteria.
- Training set
- Unsupervised learning
- Training process that uses a training set with no responses. The goal is to find hidden patters inside feature vectors and dependencies between them.

## Graph analytics terms

- Adjacency
- A vertex is adjacent to vertex if they are joined by an edge.
- Adjacency matrix
- An matrix for a graph whose vertices are explicitly ordered ,
- Attribute
- Component
- A connected subgraph of graph such that no subgraph of that properly contains is connected [Gross2014].
- Connected graph
- Directed graph
- A graph where each edge is an ordered pair of vertices. is designated as the tail, and is designated as the head.
- Edge index
- The index of an edge in an edge set of graph . Can be an integer value.
- Graph
- An object that consists of two sets, and , where is a finite nonempty set, is a finite set that may be empty, and the elements of are two-element subsets of . is called a set of vertices, is called a set of edges [Gross2014].
- Induced subgraph on the edge set
- Each subset defines a unique subgraph of graph , where consists of only those vertices that are the endpoints of the edges in . The subgraph is called an induced subgraph of on the edge set [Gross2014].
- Induced subgraph on the vertex set
- Each subset defines a unique subgraph of graph , where consists of those edges whose endpoints are in . The subgraph is called an induced subgraph of on the vertex set [Gross2014].
- Self-loop
- An edge that joins a vertex to itself.
- Subgraph
- A graph is called a subgraph of graph if and contains all the endpoints of all the edges in [Gross2014].
- Topology
- A graph without attributes.
- Undirected graph
- A graph where each edge is an unordered pair of vertices.
- Unweighted graph
- Vertex index
- The index of a vertex in a vertex set of graph . Can be an integer value.
- Walk
- An alternating sequence of vertices and edges such that for each edge, one endpoint precedes and the other succeeds that edge in the sequence [Gross2014].
- Weight
- A numerical value assigned to vertex, edge or graph.
- Weighted graph

## oneDAL terms

- Accessor
- A oneDAL concept for an object that provides access to the data of another object in the special data format. It abstracts data access from interface of an object and provides uniform access to the data stored in objects of different types.
- Batch mode
- The computation mode for an algorithm in oneDAL, where all the data needed for computation is available at the start and fits the memory of the device on which the computations are performed.
- Builder
- A oneDAL concept for an object that encapsulates the creation process of another object and enables its iterative creation.
- Contiguous data
- Data that are stored as one contiguous memory block. One of the characteristics of a data format.
- CSR data
- A compressed sparse row (csr) data is the sparse matrix representation. Data with values of a single data type and the same set of available operations defined on them. One of the characteristics of a data format.
- Data format
- Representation of the internal structure of the data.
data can be stored in array-of-structures or compressed-sparse-row formatExamples: - Data layout
- A characteristic of data format which describes the order of elements in a contiguous data block.
row-major format, where elements are stored row by rowExample: - Data type
- An attribute of data used by a compiler to store and access them. Includes size in bytes, encoding principles, and available operations (in terms of a programming language).Examples:int32_t,float,double
- Dataset
- A collection of data in a specific data format.
a collection of observations, a graphExamples: - Flat data
- A block of contiguous homogeneous data.
- Getter
- A method that returns the value of the private member variable.
:Examplestd::int64_t get_row_count() const; - Heterogeneous data
- Data which contain values either of different data types or different sets of operations defined on them. One of the characteristics of a data format.
A dataset with 100 observations of three interval features. The first two features are of float32 data type, while the third one is of float64 data type.Example: - Homogeneous data
- Data with values of single data type and the same set of available operations defined on them. One of the characteristics of a data format.
- Immutability
- The object is immutable if it is not possible to change its state after creation.
- Metadata
- Information about logical and physical structure of an object. All possible combinations of metadata values present the full set of possible objects of a given type. Metadata do not expose information that is not a part of a type definition, e.g. implementation details.
table object can contain three nominal features with 100 observations (logical part of metadata). This object can store data as sparse csr array and provides direct access to them (physical part)Example: - Online mode
- The computation mode for an algorithm in oneDAL, where the data needed for computation becomes available in parts over time.
- Reference-counted object
- A copy-constructible and copy-assignable oneDAL object which stores the number of references to the unique implementation. Both copy operations defined for this object are lightweight, which means that each time a new object is created, only the number of references is increased. An implementation is automatically freed when the number of references becomes equal to zero.
- Setter
- A method that accepts the only parameter and assigns its value to the private member variable.
:Examplevoid set_row_count(std::int64_t row_count); - Table
- A oneDAL concept for a dataset that contains only numerical data, categorical or continuous. Serves as a transfer of data between user’s application and computations inside oneDAL. Hides details of data format and generalizes access to the data.
- Workload
- A problem of applying a oneDAL algorithm to a dataset.

## Common oneAPI terms

- API
- Application Programming Interface
- DPC++
- Data Parallel C++ (DPC++) is a high-level language designed for data parallel programming productivity. DPC++ is based on SYCL* from the Khronos* Group to support data parallelism and heterogeneous programming.
- Host/Device
- OpenCL [OpenCLSpec] refers to CPU that controls the connected GPU executing kernels.
- JIT
- Just in Time Compilation — compilation during execution of a program.
- Kernel
- Code written in OpenCL [OpenCLSpec] or SYCL and executed on a GPU device.
- SPIR-V
- Standard Portable Intermediate Representation - V is a language for intermediate representation of compute kernels.
- SYCL
- SYCL(TM) [SYCLSpec] — high-level programming model for OpenCL(TM) that enables code for heterogeneous processors to be written in a “single-source” style using completely standard C++.

## Distributed computational mode terms

- Communicator
- A oneDAL concept for an object that is used to perform inter-process collective operations
- Communicator backend
- A particular library providing collective operations.
oneCCL, oneMPIExamples: - SPMD
- Single Program, Multiple Data (SPMD) is a technique employed to achieve parallelism. In SPMD model, multiple autonomous processors simultaneously execute the same program at independent points.