BookmarkSubscribeRSS Feed
Jade_SAS
Pyrite | Level 9

Dear all,

 

   I am working on one project with extremely unbalanced data which has less than 1% event incidence (800 out of total 114600 obs), what's the best method to deal with this kind of data? As the expecting goal of this project is to provide rules to distinguish the bad event (less than 1%) in the future, I am using decision tree right now. But the performance is really bad, the decision tree will not go further, only stay with the root node. Any suggestion on dealing with this kind of problem is welcome!!!

 

   BTW: I am using SAS miner 14.2 on the SAS Linux.

   Thank you!

 

Jade

4 REPLIES 4
Reeza
Super User
Without any more information, my suggestion would be to switch to a case control option where you take your 800 and match it 1:N against the big data set, with N controls per case.

I would then bootstrap it to try that approach X times and see if my model is stable. I have no idea how to do this in EM and don't have access to it though. Technically could be done in Base SAS though.
Jade_SAS
Pyrite | Level 9

Thank you Reeza!

Is there a reference paper of this procedure?  Thank you!

 

Jade

 

 

Reeza
Super User
Not really, you can look at PROC PSMATCH to get the matches and then PROC PHREG for conditional logistic regression. The documentation has examples for each.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to choose a machine learning algorithm

Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 1441 views
  • 1 like
  • 2 in conversation