Nice graph of which algorithm to use for classifying, clustering, reducing dimensions and regression analysis. Although created with the skykit-learn module for python, a module that incorporates all these algorithms, implementations of the algorithms can be found elsewhere as well.