I'm trying to solve a binary classification problem where 80% of the data belongs to class x and 20% of the data belongs to class y. All my models (AdaBoost, Neural Networks and SVC) just predict all data to be part of class x as this is the highest accuracy they can achieve.
My goal is to achieve a higher precision for all entries of class x and I don't care how many entries are falsely classified to be part of class y.
My idea would be to just put entries in class x when the model is super sure about them and put them in class y otherwise.
How would I achieve this? Is there a way to move the treshold so that only very obvious entries are classified as class x?
I'm using python and sklearn
adaboost = AdaBoostClassifier(random_state=1)
adaboost_prediction = adaboost.predict(X_test)
array([[ 0, 0],