# How to increase the accuracy of 1 class

Hai I am working with blood transfusion data set using SVM classifier.I applied SVC with C=17 and kernel rbf. It is highly imbalanced data set and I balanced it using SMOTE. But class 1 is performing very bad and no prediction in that class. How can I improve this?

from sklearn.svm import SVC
rbf_svc = SVC(C=17)
rbf_svc.fit(X_train,y_train)
y_predict = rbf_svc.predict(X_test)
print('Model accuracy score with rbf kernel and C=17 : {0:0.4f}'. format(accuracy_score(y_test, y_predict)))


Result is:

Model accuracy score with rbf kernel and C=17 : 0.7361

 print(classification_report(y_test,y_predict))

0       0.74      1.00      0.85       106
1       0.00      0.00      0.00        38
accuracy                           0.74       144
macro avg       0.37      0.50      0.42       144
weighted avg       0.54      0.74      0.62       144


• Misconceptions abound when it comes to class imbalance. It might help if you explain why you find the class imbalance so problematic that you’ve applied the SMOTE technique that is statistically iffy at best. (That author, Frank Harrell is one of the top statisticians in the world.)
– Dave
Aug 12, 2022 at 6:35
• Ideally it would be good if the features could be improved. Currently the model cannot distinguish the classes. this is why it always says class 0. Aug 13, 2022 at 16:16