Predicting probability from scikit-learn SVC decision_function with decision_function_shape='ovo'
Your link has sufficient resources, so let's go through:


  When you call decision_function(), you get the output from each of the pairwise classifiers (n*(n-1)/2 numbers total). See pages 127 and 128 of "Support Vector Machines for Pattern Classification".


Click on the "page 127 and 128" link (not shown here, but in the Stackoverflow answer). You should see:




Python's SVM implementation uses one-vs-one. That's exactly what the book is talking about.
For each pairwise comparison, we measure the decision function
The decision function is the just the regular binary SVM decision boundary


What does that to do with your question?


clf.decision_function() will give you the $D$ for each pairwise comparison
The class with the most votes win


For instance,


  [[ 96.42193513 -11.13296606 111.47424538 -88.5356536 44.29272494 141.0069203 ]]


is comparing:


  [AB, AC, AD, BC, BD, CD]


We label each of them by the sign. We get:


  [A, C, A, C, B, C]


For instance, 96.42193513 is positive and thus A is the label for AB.

Now we have three C, C would be your prediction. If you repeat my procedure for the other two examples, you will get Python's prediction. Try it!