How to know the internal algorithms of functions like Predict or Classify?
If you want to have a description of the method used by a given ClassifierFunction
you can do:
ClassifierInformation[myclassifier, "MethodDescription"]
Also, the methods used are quite classic, so you can easily find documentation on the web.
If you want to know why Classify uses a given model there is a simple answer: Classify tries to find the model that has the highest likelihood on unseen data (that is on test sets). In a nutshell, Classify first selects possible candidates (from heuristics, depending on the characteristics of data). Then the models compete against each other using cross validation techniques, and the best model is selected. There are subtleties in the automation though (not every model get all the data for speed reason etc.), and we intend to make it smarter in the future, which is the reason we did not give a precise description in the documentation.