On a daily basis, I build predictive models (namely, logistic regression and credit scorecard models) using fairly large datasets (typically ~500k records and ~1k candidate variables) to predict outcomes such as payment vs. no payment, defaulting on a loan vs. not defaulting on a loan, fraud vs. no fraud, etc. Currently, I use both SAS and R to perform feature selection using methods such as Least Absolute Shrinkage and Selector Algorithm (LASSO) regression, Random Forest, and Gradient Boosting as well as a number of clustering algorithms and principal component analysis. As such, I am constantly searching for more efficient and effective ways of building better models, which has brought me to this post.

I am very interested in learning about how Python and/or Java can make my life easier/more interesting in the realm of predictive modeling, and I am hoping that someone can provide me with the following:

1) What are some reasons to learn Python and/or Java to become a better predictive modeler?

2) Are there any references that you would recommend for me to learn more about this topic?

3) Which program would be more useful for me to learn, Python or Java (or some other programming language)?

I really appreciate any help and/or insight that you can provide! Thanks!


The first thing that came to mind is "Don't fix what isn't broken", but more knowledge can never be a bad thing. Learning a more general purpose language might help you when you want to develop new algorithms/methods/software for research, but these languages don't necessarily have better/more tools available. That said, if someone in the future develops new methods in python or java (or whatever language) you might find them easier to use/understand if you are familiar with the language the methods are written in.

Since java is a compiled language has the benefit of performing better than an interpreted language like Python or R.

| cite | improve this answer | |
  • 1
    $\begingroup$ I appreciate the "don't fix what isn't broken", but I completely agree, more knowledge can never be a bad thing. I am just really curious as to what benefits learning Python and/or Java may provide someone with the current skillset that I have. I really appreciate your post! $\endgroup$ – Matt Reichenbach Jun 4 '14 at 11:36
  • 1
    $\begingroup$ I don't think the interpreted nature of Python or R is especially important in this context, as for example the heavy lifting in Numpy or many R packages is done by calls to C libraries. This of course depends on what precisely you're doing, but you're probably not gonna do the calculations by hand-written Python For loops. $\endgroup$ – jona Jun 10 '14 at 16:41

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.