XGBOOST : model.predict_proba() and model.predict() conflicting behaviour I have two classes : 1 and 2

The output of model.predict_proba() -> [0.333,0.6667]

The output of model.predict() -> 1

This is happening for around 200 test values out of the test data of 10 lac. For all other records, both the functions' output don't conflict.
Even if the probability of class 2 is higher, predict function gives final class as 1.

What could be the reason for the output of model.predict() and model.predict_proba() not syncing with each other for those 200 records?
If you have two classes i.e you're doing binary classification, you should specify the target labels as 0 or 1 (neg/pos). The predict_proba() method returns estimated probabilities that a sample is in class 1.

"In the binary classification case, '1' is used to indicate positive samples, and '0' is used to indicate negative samples. We also support probability values in [0,1] as label, to indicate the probability of the instance being positive." - https://github.com/dmlc/xgboost/tree/master/demo/binary_classification