so let us imagine one has a classification problem at hand, say objects with $n$ numeric features, to be classified as belonging to two classes ${0,1}$. Data could look like, for $n=3$
x_1 x_2 x_3 class
1.1 2.0 3.2 0
1.2 2.1 0.7 1
4.0 2.1 3.2 0
where the $x_i$ stand for numerical values for a given property.
This dataset could be already fed to any classifier, let us say a Random Forest one.
Now, let us imagine a human expert in this domain states that the classification problem is actually trivial. In fact there exist a scalar function, say $\phi(x_1,x_2, x_3)$ such that when
\begin{cases} \phi(x_1,x_2, x_3) < 3,\,\, \mbox{ instance belongs to class} \, 0\\ \phi(x_1,x_2, x_3) \geq 3,\,\, \mbox{ instance belongs to class} \, 1 \end{cases}
A person explicitly knowing the function $\phi$ would achieve perfect accuracy.
The question then is, are there any formal results clarifying (e.g.bounding) the accuracy achievable under conditions on the function $\phi$ (linearity, smoothness, etc.)?
For example, if $\Phi$ is linear, is there any result stating a classifier can achieve perfect accuracy as the number of datapoints goes to $\infty$? And what could be said if $\phi$ is nonlinear?
I am not an expert in this field at all as it can be easily grasped. I am looking for pointers on relevant literature.
Another point of view on my question is, if the underlying data are somehow deterministic, is it worth at all spending time in trying to make sense of the classification problem using human expertise, or is it guaranteed that under some condition a classifier will be anyhow be able to come up with a "good" answer?
EDIT Yet another more practical point, clarifying the real life problem I am trying to understand. Often one reads about the importance of data engineering, specifically coming up with additional, engineered features using human expertise. But what is the usefulness of this, or the necessity for that matters? Can there be that a classifier performs badly on the original dataset, and then somebody defined a "clever" new feature, function of other original feature values, and the performance grows significantly? At the end of the day, new engineered features do not contain original, new information. then one could say, there is no need to waste time in looking for engineered features, just let the classifier go on the original dataset.
The Data-processing inequality springs to mind, but then, can it be that the information present in the original dataset can be extracted only if feature engineering is performed? If that were the case, what is known about this interesting phenomenon?