0
$\begingroup$

So I want to perform a predictive model to predict churn.

I have 2 datasets, one with churn and the other without (so I can later perform predictions).

The issue is that I think my Confusion matrix is kinda bad since my target variable is highly unbalanced:

enter image description here

which mostly leads to this confussion matrix:

enter image description here

(Similar values for both logistic regression and decision tree).

This is my workflow:

enter image description here

Is there any way to balance the data? I can't find it in the Orange documentation.

$\endgroup$
1
$\begingroup$

For unbalanced classes use the Python Script widget, with imblearn add-on, you will need to code!

Link for thread in github

Example

$\endgroup$
0
$\begingroup$

You can try to randomly delete samples from the majority class until there's a 50-50 split in the data. Then you can proceed to split 75% - 25% for training and testing.

You can also try to generate more Yes samples via imputation or whatever means may be relevant to the given dataset.

Sometimes you have to make the most out of the data you have.

$\endgroup$
0
$\begingroup$

To balance the classes check Stratified sampling checkbox in Data Sampler widget. Note, it only works when downsampling

$\endgroup$

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.