0
$\begingroup$

When browsing the web I've came across a of times people creating new variation of features and adding them to the model. Let's say I have a set of engineered/raw features i've selected for my training, I can add now an additional set of log(features) and double them, or create combination of $\{*,/, \cos, \sin\}$ between every possible combination.

Before testing this I would like to know if there is a proper answer to that? I failed to find this online and would really like to know if simply by enhancing my features set like this can help my training?

Thanks

$\endgroup$
2
  • 1
    $\begingroup$ "Before testing this I would like to know if there is a proper answer to that?" Answer to what? $\endgroup$
    – ivan7707
    Commented Nov 14, 2016 at 16:43
  • 1
    $\begingroup$ To if creating such variable prove to be helpful for the model $\endgroup$
    – Hadar
    Commented Nov 14, 2016 at 16:45

1 Answer 1

1
$\begingroup$

There is nothing magical in machine learning. Say that your feature is altitude and you want to predict the temperature. This feature only is not sufficient to obtain correct predictions. Adding features like cos(altitude) or log(altitude) will not help your model. On the contrary, you will add useless dimensionality and suffer from curse of dimensionality. That means that your model will have more struggle to find a good minima.

Performing some feature engineering (like adding feature such as f(altitude)) can be useful if you know that there is some reality behind this new feature. In this case, you will help a lot models which are mostly linear such as linear regression or feedforward neural network.

Therefore, I would say not to do it if it is totally random and do it if you know or think that your output has some dependencies with the new features.

$\endgroup$
1
  • $\begingroup$ Let me give an example: In particle physics I can have several features to describe an event, each feature on its own is insufficient to discriminate signal from background, but a specific combination (==engineered feature) will output what is called transverse mass which is a very powerful feature. So if i'll randomly generate new features from combination of the original set, maybe I can find a new engineered feature? $\endgroup$
    – Hadar
    Commented Nov 14, 2016 at 17:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.