I know few algorithms can be used to solve both classification and regression problems Ex: Decision trees(CART), Neural networks.Can you let me know what are the other algorithms which can be used in similar way

  • $\begingroup$ Gaussian processes can also be used both for regression and classification. SVMs too by the way. $\endgroup$ – Vladislavs Dovgalecs Mar 18 '16 at 16:01

There is a huge space of algorithms that would be applicable to this answer, many more than can be practically listed.

If you're using R, you can find a list of algorithms implemented in the caret package by:


Which will return a list of implemented models, with the logical values:


Which will tell you which are suitable for both. As a one-liner,

unique(modelLookup()[(modelLookup()$forReg & modelLookup()$forClass),]$model)

Will provide a list of such models:

║ "avNNet"              "bag"                 "bagEarth"            ║
║ "bagEarthGCV"         "bartMachine"         "bayesglm"            ║
║ "bdk"                 "blackboost"          "Boruta"              ║
║ "BstLm"               "bstSm"               "bstTree"             ║
║ "cforest"             "ctree"               "ctree2"              ║
║ "dnn"                 "earth"               "elm"                 ║
║ "evtree"              "extraTrees"          "gam"                 ║
║ "gamboost"            "gamLoess"            "gamSpline"           ║
║ "gaussprLinear"       "gaussprPoly"         "gaussprRadial"       ║
║ "gbm"                 "gcvEarth"            "glm"                 ║
║ "glmboost"            "glmnet"              "glmStepAIC"          ║
║ "kernelpls"           "kknn"                "knn"                 ║
║ "logicBag"            "logreg"              "mlp"                 ║
║ "mlpML"               "mlpWeightDecay"      "mlpWeightDecayML"    ║
║ "nnet"                "nodeHarvest"         "parRF"               ║
║ "partDSA"             "pcaNNet"             "pls"                 ║
║ "plsRglm"             "randomGLM"           "ranger"              ║
║ "rbf"                 "rbfDDA"              "rf"                  ║
║ "rfRules"             "rknn"                "rknnBel"             ║
║ "rpart"               "rpart1SE"            "rpart2"              ║
║ "RRF"                 "RRFglobal"           "simpls"              ║
║ "spls"                "svmBoundrangeString" "svmExpoString"       ║
║ "svmLinear"           "svmLinear2"          "svmPoly"             ║
║ "svmRadial"           "svmRadialCost"       "svmRadialSigma"      ║
║ "svmSpectrumString"   "treebag"             "widekernelpls"       ║
║ "xgbLinear"           "xgbTree"             "xyf"                 ║

Please note that this is not an exhaustive list of machine learning algorithms suitable for both regression and classification, but only of those implemented in the caret package in R.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.