Hello everyone,
In the multilabel classification for predicting h1n1 and seasonal vaccine, one of the class probability is always predict as ‘always greater than 0.5’ (which means label 1). I am not sure why this is happening.
[0.8590254 0.43965816]
[0.86548555 0.42004538]
[0.8504172 0.53533596]
[0.84696984 0.40868753]
[0.84735835 0.43021488]
[0.64695126 0.75616175]
[0.8121675 0.57143956]
[0.77992 0.5903182 ]
[0.86847746 0.3757938 ]
[0.75904495 0.692877 ]
[0.72046316 0.7369681 ]
[0.8597982 0.42459705]
Any insights would be much appreciated.
Here’s the my model:
def fit_model(X_train, Y_train):
clf = OneVsRestClassifier(XGBClassifier(n_jobs=-1,
silent=0,
verbose=True,
# eval_metric = ["auc","error"],
objective='multi:softprob',
# nclasses=2,
num_class=2,
learning_rate=0.05,
colsample_bylevel=0.20,
colsample_bynode=0.20,
colsample_bytree=0.20,
min_child_weight=5,
max_depth=12,
subsample=1,
n_estimators=100))
mlb = MultiLabelBinarizer()
Y_train = mlb.fit_transform(Y_train)
clf.fit(X_train, Y_train)
return clf