# 5. Tensor regression¶

TensorLy also allows you to perform Tensor Regression.

## 5.1. Setting¶

Tensor regression is available in the module tensorly.regression.

Given a series of $$N$$ tensor samples/observations, $$\tilde X_i, i={1, \cdots, N}$$, and corresponding labels $$y_i, i={1, \cdots, N}$$, we want to find the weight tensor $$\tilde W$$ such that, for each $$i={1, \cdots, N}$$:

$y_i = \langle \tilde X_i, \tilde W \rangle$

We additionally impose that $$\tilde W$$ be a rank-r CP decomposition (CP regression) or a rank $$(r_1, \cdots, r_N)$$-Tucker decomposition (Tucker regression). For a detailed explanation on tensor regression, please refer to 1.

TensorLy implements both types of tensor regression as scikit-learn-like estimators.

For instance, Krusal regression is available through the tensorly.regression.CPRegression object. This implements a fit method that takes as parameters X, the data tensor which first dimension is the number of samples, and y, the corresponding vector of labels.

Given a set of testing samples, you can use the predict method to obtain the corresponding predictions from the model.

## 5.2. References¶

1

W. Guo, I. Kotsia, and I. Patras. “Tensor Learning for Regression”, IEEE Transactions on Image Processing 21.2 (2012), pp. 816–827