Self-organizing networks (SON) aim to offer high quality services while reducing both capital and operational expenditures by enabling three main functions: self-configuration, self-optimization, and self-healing. Though there exits only few studies on self-healing, it plays an important role in intelligent network maintaining. In this paper, we firstly propose an ensemble learning based fault diagnosis system for self-organizing heterogeneous networks. Specifically, the base learner is strengthened in each iteration and the final diagnosis result is obtained from the combination of all base classifications for performance improvement. Moreover, traditional classification algorithms are designed with the premise of balanced data set. However, when they are applied to fault diagnosis in cellular network which has imbalanced data, the classification accuracy for minority classes is not satisfying. To address this issue, synthetic minority over-sampling technique (SMOTE) is applied to handle the data-imbalance. Furthermore, considering the fact that misclassification is unavoidable, and most existing schemes aim to achieve a low detection error rate, while ignoring the fact that different type of misclassification errors can cause different economic losses to the operators. We consider the cost sensitivity and use rescaling method to help the classifier differentiate the importance of different samples, so that a minimal total loss can be achieved. Also, for handling the sparse data and dense deployment issues in small cells of a heterogeneous network, we provide a distributed diagnose system for lowering the communications cost. Extensive simulations are performed and the results show the effectiveness of the proposed system.