Challenge

Supervised Learning - Classification Week 7 Challenge

1.Pros and cons of SVM

Pros of SVM:

*Thrives in High Dimension : When data has high dimension (think 1000+ to infinity features) a Support Vector Machine with
the right settings (right kernel choice etc.) can be the way to go and produce really accurate results.

*Kernel Flexibility : Support Vector Machines are all about choosing the right kernel with the right parameters and this
can provide lots of flexibility and a potent toolset. Linear kernels, non-linear kernels, polynomial kernels, RBF, sigmoid and gaussian kernels all have an edge in solving supervised machine learning problems with SVMs or SVRs.

*Fast Prediction : Support Vector Machines may be relatively sluggish when it comes to training especially with large
datasets, however, when it comes to prediction they are quite fast. SVMs handle dataset as a whole at once and in this sense it's not an incremental approach. This means whole data is taken to RAM of a computer during training. Once it's done prediction becomes a breeze.

*Both Classification and Regression Skills: SVMs can be used to both classify data and also predict continuous numerical
values. Regression variance of Support Vector Machines are usually called SVR (Support Vector Regression)

Cons of SVM:

*Advanced Settings: Although random forests have numerous optimization parameters too it's not so easy to make huge mistakes with them, but when it comes to Support Vector Machines, correct parameters can define the line between misery and victory. This makes Support Vector Machines difficult to implement sometimes.

*Suitable for Small Dataset: Support Vector Machines don't have a scalable nature and they don't work that well with
mid-size or large datasets.

*Costly Computation : SVMs are not the most efficient algorithms and it can be quite costly computationally to train them.
(When applied with kernels and especially with non-linear kernels)

*Feature Vectors Required : You can't just work on any problems with SVM Machine Learning Algorithms. Dataset in hand will
already need have feature vectors or you will need to pre-process to extract feature vectors which might not always be
easy or possible.

*Low Interpretability: Support Vector Machines don't provide very sophisticated and interpretable reports that can be
interpreted in an easy fashion. Lack of probability estimates also is another drawback of this machine learning algorithm.

*Overfitting Risk : Overfitting is another potential side effect of Support Vector Machines and it can be quite difficult
to detect or fix at times.

*Scaling Neccessity: This is not necessarily a con but something that comes with Support Vector Machines and creates
additional tasks and maybe you'd rather not deal with extra data preparation techniques. Scaling is an important fundamental step when working with SVMs otherwise features with higher nominal values will dominate the decision-making process while calculating the distance between the plane and support vectors.

Solution no. 2 attached a jupyter notebook file.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.