Multi-Class Classification for Regression If there is a regression problem with data $(x,t)$ with the target values t being between [0, 1], I know we can solve this using one of regression method by minimizing the squared error. But if we had to predict $t$ with one resolution of $0.1$ e.g., it does not matter whether you predict 0.72 or 0.79; predicting 0.7 would be enough, how can I describe a way such that this problem can be formulated
as a multi-class classification problem?
 A: You can do it like so:


*

*Map every $t$ in your training set as follows: $\hat{t} = f(t)= \left \lfloor \frac{t}{r}  \right \rfloor$, where $\left \lfloor \cdot  \right \rfloor$ denotes a flooring operation, and $r$ is the resolution, set to 0.1 in your case. The resulting response variable $\hat{t} \in \{0,1,2,3,4,5,6,7,8,9\}$.

*Encode the numbers $\{0,...,9\}$ into 10 different output classes, e.g. using one-hot encoding. Let's say we use $y$ to denote encoded $\hat{t}$.

*Train your classification model using $(x,y)$ as training data.


Here is some python code to play with these steps:
import numpy as np
t = np.random.rand(20,) # Generate 20 random values
r = 0.1  # Set resolution to 0.1
t_hat = np.floor( t/r )  # Quantize the values
t_hat = t_hat.astype(np.int)  # Convert to integer for better encoding. compatibility

A: Bin $t$ into ten groups: $0 \leq t_1 \leq 10, 10 < t_2 \leq 20, ...$ (IE if a value is between 0 and 10 inclusive, it gets labeled "1") and predict via a classifier.
