what to do with really strong features in machine learning Suppose you have a machine learning model that predicts if a given client is going to buy or not. The model has N features.
One of those features, N[i], when present, strongly indicates that the client is going to buy.
There are 2 options:
1) If N[i] is present predict 1, if not present predict with the model.
2) Feed N[i] as another feature of the model and let it do it's job, trusting that it will detect the strong relation.
Which one would you pick and when? what if the presence of N[i] is a really strong indicator that the client will buying, like 99.99% of the time, would you leave it to the model to figure it out then? Why not?
EDIT:
Note that if the variable is present you know the client buys but if it's not you have no certainty (it's not like the weight in kg/lb example described in one of the answers.)
 A: In most cases, we call a very strong predictor as "cheating variable". A toy example would be we want to predict a persons weight in lb, "accidentally" include a persons' weight in kg.
Note that this toy example is over simplified, that we may think it is no one would have such mistake. However, in real world, it usually happens when we have high dimensional data without totally understand the data, i.e., we do not know we are cheating. 
Therefore, I would suggest you go back and look at if you are cheating in certain way, including some after fact features, say if you are "using customer service calls as variables to to predict if customer buy the product".
If not, then the problem is trivial to solve. No machine learning needed. Just use that variable in production !
A: Neither.
Let's try to understand how machine learning works in practice. Machine learning is not something you run in isolation, you don't just take your raw data and feed everything into it. Instead, you would develop a pipeline where you process or transform your data. Machine learning or predictive modelling is simply part of the pipeline, usually after the filtering process. Not everything in the raw data would go into your model. Your outcome depends on how exactly the pipeline is implemented.
What does that mean for your example?


*

*The pipeline would simply use the "cheating" variable (if present) to make a prediction. No machine learning here, just some if statements in your code. Very standard programming.

*If the cheating variable is not present. Feed the data to your trained data. 
Thus, you should train a model without the cheating variable. This is not something statistics can tell you, but it's how the industry works. Maintaining a model with a cheating variable like your example costs money and complicates the modelling. 
A: 
Which one would you pick and when? 

Use your data and do it both ways. Keep the one that works better empirically.  This is exactly what machine learning is about.
This is the data driven way of making such decisions generally speaking. You don't need to worry and ask around.  INstead just go find out the truth with your data.
