XGBOOST : model.predict_proba() and model.predict() conflicting behaviour
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