Converting negative outputs into zeros?

jschoenaujschoenau Member Posts: 2 Contributor I
edited November 2018 in Help

Hi there, I am currently training a model for sales predictions based on a data set of existing products with a range of attributes and sales data. The best model so far seems to be linear regression. However, for some products I am getting negative sales predictions. Is there a way to covert those into zeros? And can I also insert this operator into the cross-validation process to recalculate performance?

Many thanks,

Jörg

Best Answers

  • kypexinkypexin Moderator, RapidMiner Certified Analyst, Member Posts: 291 Unicorn
    Solution Accepted

    The fastest way to do this is to generate a new attribute based on existing prediction attribute and use an expression like this (assume the column name is 'prediction'): 

     

    if(prediction<0,0,prediction)

     

    This will keep old predictions and also add a new column where all negative values are replaced by zeros.  

  • Telcontar120Telcontar120 Moderator, RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 1,635 Unicorn
    Solution Accepted

    Then you can simply use the new version of "prediction" and feed it into a new "Performance" operator and recalculate your performance (you don't need to do this inside cross-validation but you can).  Note that it is actually possible that your aggregate performance would decrease depending on the performance metric you are using.  But you may still prefer the modified version of your prediction for other reasons.

     

    Brian T.
    Lindon Ventures 
    Data Science Consulting from Certified RapidMiner Experts

Answers

  • jschoenaujschoenau Member Posts: 2 Contributor I

    Thanks very much for the prompt reply. That should work, I'll try it out today.

Sign In or Register to comment.