Predicting gene function using hierarchical multi-label decision tree ensembles