I want to start with machine learning with a small prediction problem but I'm not sure I chose the right approach. I want to make a program that gets data of mechanical failures on cars (manufactured time, failure time, reason, and different characteristics of the car). Then I would give the data of new cars that will be released to market and I would try to predict when would they fail.

I was reading that the best approach is using survival analysis with R but since I'm not really familiar with this algorithm, I was wondering If there's any other approach.

  • 1
    $\begingroup$ Given your problem and since you are starting out on ML, one approach would be to read on general ML approaches, for example your problem can be fitted into the supervised lerning area, so it will be good to read on different approaches to supervised learning and then adopt one on trial basis and see the result and investigate the result; a bit of exploratory work would be good to grasp the principals $\endgroup$
    – Ironluca
    Commented May 22, 2017 at 11:15

2 Answers 2


I'm also just a beginner in ML (who is however not familiar with survival analysis w/ R), but has tackled a couple of ML projects. Based on my knowledge, you could use supervised learning.

Store data, preferably in CSV format, (one column about the duration between buying the car and the car's mechanical breakdown), and the rest about the car's data/characteristics.

Next, you can run a neural network through your data, and use your NN's library's predict() method to predict the duration before breakdown based on your data.

You could then theoretically (assuming that there is a logical correlation between the data) see which characteristics are most prone to make a car break down.

As for implementing your program, I use Python with the Keras library, which is simple enough for any programmer to use, but there exist many other great ML libraries, notably TensorFlow.

Do note that I am also just a beginner, and that my approach might be erroneous, yet I do wish you good luck on your future ML projects!

  • $\begingroup$ Oh thank you for your answer, stupid me to consider survival analysis as ML. I'll give it a look and hopefully will be good for my problem ;) $\endgroup$
    – Capie
    Commented May 24, 2017 at 8:47
  • $\begingroup$ I think that fitting a NN for this task is a overkill. Moreover, AFAIK, simple NN cannot capture and model the time to failure. Chances are the model might be somewhat performant, but inappropriate. $\endgroup$
    – HonzaB
    Commented May 30, 2017 at 6:13

I think you should first clearly specify what the covariates are, what is the target variable is and what is your goal.

Therefore, if you have attributes about the car as covariates and target variable is failure time (car failed in 1y, 2y...), then the best approach is indeed Survival analysis, because you try to model time to failure.

On the other side, if you target variable is just a failure - yes or no, then its a classification problem. For that, simple models such as Decision trees or Logistic regression are very well suited.

Dont use algorithm just because its fancy or dont dislike other approaches just because they are not "Machine Learning".

You said you want to start with Machine learning, so go ahead. Dont blindly fit whatever blackbox models, start with simple ones and look inside, how they work.

That being said, pick something more simple. Because Survival analysis requires knowledge or regression and a bit more of statistics.

Best of luck.


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.