I build a classification model. The results below when implemented Decision Tree Classifier.
Prediction accuracy
0.785813630042
confusion matrix
[[ 1302 1581]
[ 2577 13953]]
precision recall f1-score support
2.0 0.34 0.45 0.39 2883
3.0 0.90 0.84 0.87 16530
avg / total 0.81 0.79 0.80 19413
For the Neural Network---
Prediction accuracy
0.863132952145
Confusion Matrix
[[ 718 2165]
[ 492 16038]]
precision recall f1-score support
2.0 0.59 0.25 0.35 2883
3.0 0.88 0.97 0.92 16530
avg / total 0.84 0.86 0.84 19413
For the Gradient Boosting Classifier---
Prediction accuracy
0.870035543193
Confusion Matrix
[[ 971 1912]
[ 611 15919]]
precision recall f1-score support
2.0 0.61 0.34 0.43 2883
3.0 0.89 0.96 0.93 16530
avg / total 0.85 0.87 0.85 19413
Gradient boosting classifier gives me good accuracy score but it gives bad recall for class 2 compared with Decision Tree classifier. Train Data for both classes:
Class 2: 2908
Class 3: 16673
Is recall depend on training data? How do I improve recall for class 2 along with accuracy?