1
$\begingroup$

I've scaled my inputs between -1 and 1 but outliers are still throwing my data off. i.e. 99% of the range is occupied by one outlier and the rest of the data sits between -0.001 and 0.001.

I see that one way to handle this problem is to take the logarithm of all the data before scaling it. But you can't take the logarithm of a negative value. So how should I handle outliers here? Is there some way to utilize the logarithm still?

$\endgroup$
3
  • $\begingroup$ Why do you have outliers in the data? What do they represent? Are those valid values or incorrect ones? $\endgroup$
    – Tim
    Aug 6, 2021 at 6:47
  • $\begingroup$ @Tim they are valid values. They are continuous values and each sample contains 200 of them. $\endgroup$ Aug 6, 2021 at 15:25
  • $\begingroup$ If they are valid, why do you want to change them? $\endgroup$
    – Tim
    Aug 6, 2021 at 16:49

1 Answer 1

1
$\begingroup$

Scaling input (and sometimes the reponse/label) is a fairly common/fundamental task and there are many different ways to achieve it. Some fairly common examples are:

  • Standardization (mean variance scaling): See Here
  • MinMax Scaling (which I assume is the scaling method you used here) See Here
  • Nonlinear Scaling/Transformation See Here
  • Normalization See Here

Among many others of course. I should also mention Inverse Rank Transformation which is fairly common.

Now with regards to your question: I recommend using robust scaling unless of course you have to stick to a range, which then there are other solutions to address that.

$\endgroup$

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.