Softmax vs softprob in xgboost

when I run the predict_proba method with multiple rows (ndata say) in a multi-class classifier, I do get a ndata * nclass matrix output as well.

From what I know, softmax calculates probability distribution over a vector of values. So not sure what softprob is doing differently.

Can someone clarify the difference? It’s probably very subtle but escapes me

What I am confused about is doesn’t predict_proba (with softmax) also output a vector of probabilities over the classes?

clf.predict_proba([[...]]) = [[0.2,...0.8], [0.1,...0.4],...]

Isn’t this also outputting a matrix of probabilities? How is that output different from the softprob output?

© Copyright 2013-2019 Analytics Vidhya