For example, let's say a dataset has 100+ columns.
And the ml has to recognize a complex pattern containing 1000 different conditions.
And one of those conditions is,
the integer from the first column (c1) has to be 2% higher than the second (c2).
In that case... Is this a good idea to create a new column with the percentage difference value between c1 and c2 (or binary 1 or 0 values depending on if it's greater or lower) to possibly improve the performance of the model.
Or it won't matter that much and will be kind of unnecessary while training?
Percentage difference is just a simple example... There are so many predefined relations between the data of the same rows that can be pre added to the dataset. So I was wondering, is that required or just using raw data is fine?