Prediction problem: Do I have to sample the data set so that the outcomes are balanced? I want to predict whether a loan is default or fully paid, with about 20 features and 10,000 historical observations.
Among the data over 85% are fully paid, 15% are default, I want to try classification tree, but it won't split. Do I have to balance the outcome first? That is to say, I randomly sample 1500 out of 8500 fully paid obs and combine with the 1500 default obs, then I continue sample the 80% of the 3000 obs to be the training set, the rest 20% to be the test set?
 A: If the dataset you have is representative of the real distribution of the class labels then the fact that labels are imbalanced should be incorporated in your predictions. Also not using data while you have them is rather unadvised. So one solution would be instead of sampling the majority class to try oversampling the minority. In classifiers like SVMs the solution is straight forward by assigning different weights to each class label. In Bayesian approaches you have different priors per class. 
Also, check out the answers here: Training a decision tree against unbalanced data
A: If you would like to survey the literature your problem is often referred to as "class imbalance". The main danger you face is that your model can declare 85% accuracy by always guessing "fully paid" and you should dissuade it from doing this. 
Ililasfl suggested oversampling the minority class which is something you should certainly try. However if you do not have sufficient information in the minority class to define this class then oversampling may not help. You should try first and see. If that fails modifying the cost to reflect the expected proportion is also a common approach and it is recommended within ililasfl's link. If you are using decision tree software there should be a way to do this. However again if there is insufficient information in the minority class then you might still get a dissatisfying number of false positives and false negatives.
If you are still unhappy with your results you have other options. If there is insufficient information in the minority class then it is possible there is too much heterogeneity in that class thus it would need a larger data representation than what you have in your dataset. If that was the case I would consider a one class classifier. I've never tried a one-class decision tree (see here for a list) but I've had good results with the one-class classifier in LibSVM.
