As an effective evolutionary computation algorithm, Genetic Programming (GP) can be designed as effective classifiers due to its flexible representation method. However, the classification performance of GP classifiers can be degraded due to imbalanced data and weak generalization ability. In this paper, multi-objective GP (MOGP) is used to optimize three objectives including Recall, Precision and model complexity to imbalanced data. Moreover, a bagging-based ensemble classifier construction method is proposed to improve the generalization of GP classifiers, which uses non-repeated sampling to generate multiple training subsets and runs MOGP multiple times on these training subsets to construct ensembles. Experiments on ten datasets show that our MOGP classifier construction method can achieve better classification performance than single-objective GP classifier construction methods, and our bagging-based ensemble classifier construction methods can further improve the classification performance compared to only using MOGP. Comparisons with six state-of-the-art GP classifier construction methods and six traditional machine learning algorithms show that our proposed approach can achieve significantly better classification performance in most cases.