I am fairly new to Datascience and currently working on an assignment that requires me to do a binary classification on a set with about 9 parameters for X. I tried working on it using different methods implemented in scikit (linear regression, neural network, random forests,..). However, my ROC-Curve always ended up looking barely better than random. After looking closer at the scatterplot for all nine parameters against Y, I realized that the datapoints at Y=1 and Y=0 overlapped greatly for all of them, making them somehow 'ambiguous' (see picture). Is there any way I can increase the accuracy of my model by pre-processing the data? Or any other means? I can not change the classification of test and training set.

Example Scatterplot

I really appreciate your help!

  • 1
    $\begingroup$ What are you plotting in the figure? Please, export figures with axis labels and title... It seems to me that you are plotting the labels... $\endgroup$
    – ignatius
    Feb 5 at 15:29
  • Please, edit your figure to be more concise... adding axis labels will help a lot. I guess Y-axis is the target label, and X-axis is one of the nine parameters. But looking at the plot, I wondering if you are plotting the labels of a dataset with more than 10K samples...

Anyway, regarding the scatter plot of your nine parameters, which I belive they are the 9 features for each sample that will be used to perform the classification, you have to bear in mind:

  • Scatter plot is not usually performed to visualize $Y \text{ vs } feature_i$. If you do so, and your points dont overlap, your classification algorithm will be (you can exchange the values for $Y$): $Y = 1 \text{ if } feature_i >= \alpha \text{ otherwise } Y = 0$. i.e. you can classify your dataset with a threshold over a certain single feature.
  • The scatter plot is a visualization tool. We can only spatially represent a 2D or 3D feature space, so for a feature space's dimension greater than 3, looking at the different scatter plots will only give you "partial" information
  • The scatter plot is typically performed between features (feature_i vs feature_j, or even with a third feature) with some label indicator (different point colors depending on the target label)
  • Usually the points in the scatter plots will overlap, otherwise, if you encounter an scatter plot from which it is clear you can separate your classes, discard the remaining features and use only those two (or three)
  • You can try some more sophisticated techniques for feature-space visualization, like t-sne, which is a technique that reduces your N-dimensional space to a 2D or 3D space

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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