Machine Learning or Survival Analysis? I am working on building prediction model for disk failures (time taken to occur a disk failure and what parameters could strongly affect disk failures). I am bit confused on-


What data preprocessing steps should I perform. The dataset is
highly imbalanced (500 failures and ~40000 non-failures) 
What type of Machine Learning models should I take into consideration as data is highly imbalanced? 
Few days back, I read about Survival Analysis
and now I am in conundrum whether the problem would be of Survival
Analysis or Machine Learning?


I am currently working with dataset provided by BackBlaze(https://www.backblaze.com/b2/hard-drive-test-data.html).

It would be really great it I could get some direction :)
Some algorithms, such as SVM or Logistical regression, have possibility to add a weight to certain class, therefore fix the unbalanced issue. 

This really sounds like a job for Survival analysis, which is especially designed to answer questions like "When machine X fail" or "Which attribute influence the most the failure". You can simply start by plotting the Kaplan-Meier curve and then further stratify it by some attribute. Then you can try Cox regression model - it is useful to see the influence of an attribute on survival - the hazard ratio.
But don't forget to verify the assumptions (functional form and proportional hazard).

In R the Survival analysis is implemented very well, so don't be affraid.
There is simple and short tutorial which might help.