I have small dataset of about 60 samples that performs poorly in regression. So I wonder how can I transform this task into predicting intervals instead of values. Is it possible to make it perform better for intervals instead of values?

The dataset is imbalanced. There are just few high values. The algorithm constantly underestimates these values. So I think if I make prediction in intervals, it'll perform better for values, say, more than 50.

But, overall, the problem is predicting for values near the limits of intervals. Is it better to mark this values as belonging to both intervals?


1 Answer 1


Your final proposal (put an observations "on the edge" of intervals into both intervals) is unconventional, but probably worth trying. Note that ordinal logistic regression need more parameters than linear regression, so be careful adding too many categories because your data is small.

You can consider transforming the prediction target to reduce the distance between the extreme high values and the rest of the data.

In general, however, you will need to understand why those extreme high values are high. Are they incorrect entries (i.e. outliers)? Or is there some feature in the data that can be added to the model in order to better predict when a data point is higher than expected?

For example:

Let's say you are trying to predict student performance on a linear algebra midterm exam. Your data set consists of last year's exam scores. Maybe your model includes these features:

  • Student class year (freshman, sophomore, junior, senior)
  • Did student take honors calculus? (binary)
  • Average homework grade
  • Recitation attendance percent

Your model generally does well. Most students get in the 75-90 range, but some do unexpectedly well and score in the high 90s, almost perfect. Your model fails to predict these students' grades. So what went wrong? One possibility is that there is some other attribute shared by the high-scoring students that the other students might not have. You look back over the exams and realize that all the high-scoring students did well on a tough problem that you had covered in an office hour session. Now you add a new feature to the model:

  • Attended my office hours session on October 2nd.

and now your model correctly predicts the high-scoring outliers.

  • $\begingroup$ What do you mean by "some feature in the data that can be added"? Thank you! $\endgroup$ Oct 3, 2018 at 19:47
  • 1
    $\begingroup$ @DmytroSytro i added an example. $\endgroup$ Oct 3, 2018 at 20:00
  • $\begingroup$ Oh, I understand what you mean. I thought you meant some feature engineering. I can't get more features. In fact, I have too many categorical features, so I gotta apply dimension reduction. $\endgroup$ Oct 4, 2018 at 7:32
  • $\begingroup$ I don't see much of a difference between feature engineering and the procedure I described $\endgroup$ Oct 4, 2018 at 12:19
  • $\begingroup$ As I understand in feature engineering you deal with the features you have (e.g. dimension reduction). But you propose to add new feature from the outside source. $\endgroup$ Oct 4, 2018 at 13:32

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.