Random Forest is an ensemble learning algorithms that constructs many decision trees during the training. It predicts the mode of the classes for classification tasks and mean prediction of trees for regression tasks.
It is using random subspace method and bagging during tree construction. It has built-in feature importance.
Breiman Leo, Random Forests, Machine Learning vol.45, pp. 5–32, 2001
Ho, Tin Kam, Random Decision Forests, Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, pp. 278–282, 1995.
License for Scikit-Learn implementation of Random Forest: New BSD License