for small datasetsgood as baselineeasy to explain linear models go-to as first algorithm to trygood for very large datasetsgood for very highdimensional data naive bayes only for classification even faster than linear modelsgood for very large datasets and high-dimensional data often less accurate than linear models decision trees very fastdon' need scaling of the datacan be visualized and easily explained random forests nearly always perform better than single decision treevery robust and powerful don' need scaling of data not good for very high-dimensional sparse data gradient boosted decision trees often slightly more accurate than random forests slower to train but faster to predict than random forestsand smaller in memory need more parameter tuning than random forests support vector machines powerful for medium-sized datasets of features with similar meaning require scaling of datasensitive to parameters neural networks can build very complex modelsparticularly for large datasets sensitive to scaling of the data and to the choice of parameters large models need long time to train when working with new datasetit is in general good idea to start with simple modelsuch as linear model or naive bayes or nearest neighbors classifierand see how far you can get after understanding more about the datayou can consider moving to an algorithm that can build more complex modelssuch as random forestsgradient boosted decision treessvmsor neural networks you should now be in position where you have some idea of how to applytuneand analyze the models we discussed here in this we focused on the binary classification caseas this is usually easiest to understand most of the algorithms presented have classification and regression variantshoweverand all of the classification algorithms support both binary and multiclass classification try applying any of these algorithms to the built-in datasets in scikit-learnlike the boston_housing or diabetes datasets for regressionor the digits dataset for multiclass classification playing around with the algorithms on different datasets will give you better feel for supervised learning