Documente Academic
Documente Profesional
Documente Cultură
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
(https://www.facebook.com/AnalyticsVidhya)
(https://twitter.com/analyticsvidhya)
(https://plus.google.com/+Analyticsvidhya/posts)
(https://www.linkedin.com/groups/Analytics-Vidhya-Learn-everything-about-5057165)
(https://www.analyticsvidhya.com)
(https://datahack.analyticsvidhya.com/contest/the-ultimatestudent-hunt/)
PYTHON
R (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/CATEGORY/R/)
w.facebook.com/sharer.php?u=https://www.analyticsvidhya.com/blog/2015/08/common-machine-learning-
als%20of%20Machine%20Learning%20Algorithms%20(with%20Python%20and%20R%20Codes))
(https://twitter.com/home?
f%20Machine%20Learning%20Algorithms%20(with%20Python%20and%20R%20Codes)+https://www.analyticsvidhya.com/blog/2015/08/commonthms/)
(https://plus.google.com/share?url=https://www.analyticsvidhya.com/blog/2015/08/common-machine-learning-algorithms/)
pin/create/button/?url=https://www.analyticsvidhya.com/blog/2015/08/common-machine-learningps://www.analyticsvidhya.com/wp-content/uploads/2015/08/Newl-Machine-Learning-
ption=Essentials%20of%20Machine%20Learning%20Algorithms%20(with%20Python%20and%20R%20Codes))
(http://admissions.bridgesom.com/pba-new/?
utm_source=AV&utm_medium=BannerInline&utm_campaign=AVBanner20August)
Introduction
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
1/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
Introduction
Googles self-driving cars and robots get a lot of press, but the companys real future is
in machine learning, the technology that enables computers to get smarter and more
personal.
Eric Schmidt (Google Chairman)
We are probably living in the most de ning period of human history. The period when computing
moved from large mainframes to PCs to cloud. But what makes it de ning is not what has happened,
but what is coming our way in years to come.
What makes this period exciting for some one like me is the democratization of the tools and
techniques, which followed the boost in computing. Today, as a data scientist, I can build data
crunching machines with complex algorithms for a few dollors per hour. But, reaching here wasnt
easy! I had my dark days and nights.
(http://datahack.analyticsvidhya.com/contest/experiments-with-data-2)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
2/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/Newl-Machine-LearningAlgorithms.jpg)
I have deliberately skipped the statistics behind these techniques, as you dont need to understand
them at the start. So, if you are looking for statistical understanding of these algorithms, you should
look elsewhere. But, if you are looking to equip yourself to start building machine learning project,
you are in for a treat.
Decision
Tree
(https://www.analyticsvidhya.com/blog/2015/01/decision-tree-
simpli ed/), Random Forest (https://www.analyticsvidhya.com/blog/2014/06/introduction-randomforest-simpli ed/), KNN, Logistic Regression etc.
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
3/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
2. Unsupervised Learning
How it works:In this algorithm,we do not have any target or outcome variable to predict / estimate.
It is used for clustering population in di erent groups, which is widely used for segmenting
customers in di erent groups for speci c intervention. Examples of Unsupervised Learning: Apriori
algorithm, K-means.
3. Reinforcement Learning:
How it works: Using this algorithm, the machine is trained to make speci c decisions. It works this
way: the machine is exposed to an environment where it trains itself continually using trial and error.
This machine learns from past experience and tries to capture the best possible knowledge to make
accurate business decisions. Example of Reinforcement Learning: Markov Decision Process
1. Linear Regression
It is used to estimate real values (cost of houses, number of calls, total sales etc.) based on
continuous variable(s). Here, we establish relationship between independent and dependent
variables by tting a bestline. This best t line is known as regression line and represented by a linear
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
4/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
equation Y= a *X + b.
The best way to understand linear regression is to relive this experience of childhood. Let us say, you
ask a child in fth grade to arrange people in his class by increasing order of weight, without asking
them their weights! What do you think the child will do? He / she would likely look (visually analyze)
at the height and build of people and arrange them using a combination of these visible parameters.
This is linear regression in real life! The child has actually gured out that height and build would be
correlated to the weight by a relationship, which looks like the equation above.
In this equation:
Y Dependent Variable
a Slope
X Independent variable
b Intercept
These coe cients a and b are derived based on minimizing the sum of squared di erence of distance
between data points and regression line.
Look at the below example. Here we have identi ed the best
y=0.2811x+13.9. Now using this equation, we can nd the weight, knowing the height of a person.
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/Linear_Regression.png)
Linear Regression is of mainly two types: Simple Linear Regression and Multiple Linear Regression.
Simple Linear Regression is characterized by one independent variable. And, Multiple Linear
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
5/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
variables.While nding best t line, you can ta polynomial or curvilinear regression. And these are
known as polynomial or curvilinear regression.
Python Code
#ImportLibrary
#Importothernecessarylibrarieslikepandas,numpy...
fromsklearnimportlinear_model
#LoadTrainandTestdatasets
#Identifyfeatureandresponsevariable(s)andvaluesmustbenumericandnumpyarrays
x_train=input_variables_values_training_datasets
y_train=target_variables_values_training_datasets
x_test=input_variables_values_test_datasets
#Createlinearregressionobject
linear=linear_model.LinearRegression()
#Trainthemodelusingthetrainingsetsandcheckscore
linear.fit(x_train,y_train)
linear.score(x_train,y_train)
#EquationcoefficientandIntercept
print('Coefficient:\n',linear.coef_)
print('Intercept:\n',linear.intercept_)
#PredictOutput
predicted=linear.predict(x_test)
R Code
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
6/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
#LoadTrainandTestdatasets
#Identifyfeatureandresponsevariable(s)andvaluesmustbenumericandnumpyarrays
x_train<input_variables_values_training_datasets
y_train<target_variables_values_training_datasets
x_test<input_variables_values_test_datasets
x<cbind(x_train,y_train)
#Trainthemodelusingthetrainingsetsandcheckscore
linear<lm(y_train~.,data=x)
summary(linear)
#PredictOutput
predicted=predict(linear,x_test)
2. Logistic Regression
Dont get confused by its name! It is a classi cation not a regression algorithm.It is used to estimate
discrete values ( Binary values like 0/1, yes/no, true/false ) based on given set of independent
variable(s). In simple words, it predicts the probability of occurrence of an event by tting data to a
logit function (https://en.wikipedia.org/wiki/Logistic_function). Hence, it is also known as logit
regression. Since, it predicts the probability, itsoutput values lies between 0 and 1 (as expected).
Again, let us try and understand this through a simple example.
Lets say your friend gives you a puzzle to solve. There are only 2 outcome scenarios either you
solve it or you dont. Now imagine, that you are being given wide range of puzzles / quizzes in an
attempt to understand which subjects you are good at. The outcome to this study would be
something like this if you are given a trignometry based tenth grade problem, you are 70% likely to
solve it. On the other hand, if it is grade fth history question,the probability of getting an answer is
only 30%. This is what Logistic Regression provides you.
Coming to the math, the log odds of the outcome is modeled as a linear combination of the predictor
variables.
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
7/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
odds=p/(1p)=probabilityofeventoccurrence/probabilityofnoteventoccurrence
ln(odds)=ln(p/(1p))
logit(p)=ln(p/(1p))=b0+b1X1+b2X2+b3X3....+bkXk
Above, p is the probability of presence of the characteristic of interest. It chooses parameters that
maximize the likelihood of observing the sample values rather than thatminimize the sum of squared
errors (like in ordinary regression).
Now, you may ask, why take a log? For the sake of simplicity, lets just say that this is one of the best
mathematical way to replicate a step function. I can go in more details, but that will beat the purpose
of this article.
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/Logistic_Regression.png)Python
Code
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
8/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
#ImportLibrary
fromsklearn.linear_modelimportLogisticRegression
#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_d
ataset
#Createlogisticregressionobject
model=LogisticRegression()
#Trainthemodelusingthetrainingsetsandcheckscore
model.fit(X,y)
model.score(X,y)
#EquationcoefficientandIntercept
print('Coefficient:\n',model.coef_)
print('Intercept:\n',model.intercept_)
#PredictOutput
predicted=model.predict(x_test)
RCode
x<cbind(x_train,y_train)
#Trainthemodelusingthetrainingsetsandcheckscore
logistic<glm(y_train~.,data=x,family='binomial')
summary(logistic)
#PredictOutput
predicted=predict(logistic,x_test)
Furthermore..
There are many di erent steps that could be tried in order to improve the model:
including interaction terms
removing features
regularization techniques (https://www.analyticsvidhya.com/blog/2015/02/avoid-over- ttingregularization/)
(https:/
/datahack.analyticsvidhya.com/contest/skilltestusing
a non-linear model
python-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
9/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
3. Decision Tree
This is one of my favorite algorithm and I use it quite frequently. It is a type of supervised learning
algorithm that is mostly used for classi cation problems. Surprisingly, it works for both categorical
and continuous dependent variables. In this algorithm, we split the population into two or more
homogeneous sets. This is done based on most signi cant attributes/ independent variables to make
as distinct groups as possible. For more details, you can read: Decision Tree Simpli ed
(https://www.analyticsvidhya.com/blog/2015/01/decision-tree-simpli ed/).
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/IkBzK.png)
source: statsexchange (http://stats.stackexchange.com)
In the image above, you can see that population is classi ed into four di erent groups based on
multiple attributes to identify if they will play or not. To split the population into di erent
heterogeneous groups, it uses various techniques like Gini, Information Gain, Chi-square, entropy.
The best way to understand how decision tree works, is to play Jezzball a classic game from
Microsoft (image below). Essentially, you have a room with moving walls and you need to create walls
such that maximum area gets cleared o with out the balls.
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
10/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/download.jpg)
So, every time you split the room with a wall, you are trying to create 2 di erent populations with in
the same room. Decision trees work in very similar fashion by dividing a population in as di erent
groups as possible.
More:
Simpli ed
Version
of
Decision
Tree
Algorithms
(https://www.analyticsvidhya.com/blog/2015/01/decision-tree-simpli ed/)
Python Code
#ImportLibrary
#Importothernecessarylibrarieslikepandas,numpy...
fromsklearnimporttree
#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_d
ataset
#Createtreeobject
model=tree.DecisionTreeClassifier(criterion='gini')#forclassification,hereyoucanchangethea
lgorithmasginiorentropy(informationgain)bydefaultitisgini
#model=tree.DecisionTreeRegressor()forregression
#Trainthemodelusingthetrainingsetsandcheckscore
model.fit(X,y)
model.score(X,y)
#PredictOutput
predicted=model.predict(x_test)
RCode
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
11/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
library(rpart)
x<cbind(x_train,y_train)
#growtree
fit<rpart(y_train~.,data=x,method="class")
summary(fit)
#PredictOutput
predicted=predict(fit,x_test)
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/SVM1.png)
Now, we will nd some line that splits the data between the two di erently classi ed groups of data.
This will be the line such that the distances from the closest point in each of the two groups will be
(https://datahack.analyticsvidhya.com/contest/skilltestfarthest away.
python-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
12/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/SVM2.png)
In the example shown above, the linewhich splits the data into two di erently classi ed groups is the
black line, since the two closest points are the farthest apart from the line. This line isour classi er.
Then, depending on where the testing data lands on either side of the line, thats what class we can
classify the new data as.
More:
Simpli ed
Version
of
Support
Vector
(https://www.analyticsvidhya.com/blog/2014/10/support-vector-machine-simpli ed/)
Machine
Think of this algorithm as playing JezzBall in n-dimensional space. The tweaks in the game are:
You can drawlines / planes at any angles (rather than just horizontal or vertical as in classic game)
The objective of the game is to segregate balls of di erent colors in di erent rooms.
And the balls are not moving.
Python Code
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
13/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
#ImportLibrary
fromsklearnimportsvm
#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_d
ataset
#CreateSVMclassificationobject
model=svm.svc()#thereisvariousoptionassociatedwithit,thisissimpleforclassification.Yo
ucanreferlink(http://scikitlearn.org/stable/modules/svm.html),formo#redetail.
#Trainthemodelusingthetrainingsetsandcheckscore
model.fit(X,y)
model.score(X,y)
#PredictOutput
predicted=model.predict(x_test)
RCode
library(e1071)
x<cbind(x_train,y_train)
#Fittingmodel
fit<svm(y_train~.,data=x)
summary(fit)
#PredictOutput
predicted=predict(fit,x_test)
5. Naive Bayes
It
is
classi cation
technique
based
on
Bayes
theorem
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
14/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
Naive Bayesian model is easy to build and particularly useful for very large data sets. Along with
simplicity, Naive Bayes is known tooutperform even highlysophisticated classi cation methods.
Bayes theorem provides a way of calculating posterior probability P(c|x) from P(c), P(x) and P(x|c). Look
at the equation below:
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/Bayes_rule.png)
Here,
P(c|x)istheposteriorprobabilityofclass(target)givenpredictor(aribute).
P(c)isthepriorprobabilityofclass.
P(x|c)isthelikelihoodwhichistheprobabilityofpredictorgivenclass.
P(x)isthepriorprobabilityofpredictor.
Example: Lets understand it using an example. Below I have a training data set of weather and
corresponding target variable Play. Now, we need to classify whether players will play or not based
on weather condition. Lets follow the below steps to perform it.
Step 1: Convert the data set to frequency table
Step 2: Create Likelihood table by nding the probabilities like Overcast probability = 0.29 and
probability of playing is 0.64.
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
15/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/Bayes_41.png)
Step 3: Now, useNaive Bayesian equation to calculate the posterior probability for each class. The
class with the highest posterior probability is the outcome of prediction.
Problem: Players will pay if weather is sunny, is this statement is correct?
We can solve it using above discussed method, so P(Yes | Sunny) = P( Sunny | Yes) * P(Yes) / P (Sunny)
Here we have P (Sunny |Yes) = 3/9 = 0.33, P(Sunny) = 5/14 = 0.36, P( Yes)= 9/14 = 0.64
Now, P (Yes | Sunny) = 0.33 * 0.64 / 0.36 = 0.60, which has higher probability.
Naive Bayes uses a similar method to predict the probability of di erent class based on various
attributes. This algorithm is mostly used in text classi cation and with problems having multiple
classes.
Python Code
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
16/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
#ImportLibrary
fromsklearn.naive_bayesimportGaussianNB
#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_d
ataset
#CreateSVMclassificationobjectmodel=GaussianNB()#thereisotherdistributionformultinomial
classeslikeBernoulliNaiveBayes,Referlink
(http://scikitlearn.org/stable/modules/naive_bayes.html)#Trainthemodelusingthetrainingsetsa
ndcheckscore
model.fit(X,y)
#PredictOutput
predicted=model.predict(x_test)
RCode
library(e1071)
x<cbind(x_train,y_train)
#Fittingmodel
fit<naiveBayes(y_train~.,data=x)
summary(fit)
#PredictOutput
predicted=predict(fit,x_test)
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
17/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
These distance functions can be Euclidean, Manhattan, Minkowski and Hamming distance. First three
functions areused for continuous function and fourth one (Hamming) for categorical variables. If K = 1,
then the case is simply assigned to the class of its nearest neighbor. At times, choosing K turns out to
beachallenge while performing KNN modeling.
More: Introduction to k-nearest neighbors : Simpli ed (http://Introduction to k-nearest neighbors :
Simpli ed).
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/KNN.png)
KNN can easily be mapped to our real lives. If you want to learn abouta person, of whom you have
no information, you might like to nd out about his close friends and the circles he moves in and gain
access to his/her information!
Things to consider before selectingKNN:
KNN is computationally expensive
Variables should be normalized else higher range variables can bias it
Works on pre-processing stage more before going for KNN like outlier, noise removal
Python Code
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
18/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
#ImportLibrary
fromsklearn.neighborsimportKNeighborsClassifier
#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_d
ataset
#CreateKNeighborsclassifierobjectmodel
KNeighborsClassifier(n_neighbors=6)#defaultvalueforn_neighborsis5
#Trainthemodelusingthetrainingsetsandcheckscore
model.fit(X,y)
#PredictOutput
predicted=model.predict(x_test)
RCode
library(knn)
x<cbind(x_train,y_train)
#Fittingmodel
fit<knn(y_train~.,data=x,k=5)
summary(fit)
#PredictOutput
predicted=predict(fit,x_test)
7. K-Means
It is a type of unsupervised algorithm which solves the clustering problem. Itsprocedure follows a
simple and easy way to classify a given data set through a certain number of clusters (assume k
clusters). Data points inside a cluster are homogeneous and heterogeneous to peergroups.
Remember guring out shapes from ink blots? k means is somewhat similar this activity. You look at
the shape and spread to decipher how many di erent clusters / population are present!
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
19/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
(https://www.analyticsvidhya.com/wpcontent/uploads/2015/08/splatter_ink_blot_texture_by_maki_tak-d5p6zph.jpg)
How K-means forms cluster:
1. K-means picks k number of points for each cluster known as centroids.
2. Each data point forms a cluster with the closest centroids i.e. k clusters.
3. Finds the centroid of each cluster based on existing cluster members. Here we have new centroids.
4. As we have new centroids, repeat step 2 and 3.Find the closest distance for each data point from new
centroids and get associated with new k-clusters. Repeat this process until convergence occurs i.e.
centroids does not change.
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
20/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
(https://www.analyticsvidhya.com/wp-content/uploads/2015/08/Kmenas.png)
Python Code
#ImportLibrary
fromsklearn.clusterimportKMeans
#Assumedyouhave,X(attributes)fortrainingdatasetandx_test(attributes)oftest_dataset
#CreateKNeighborsclassifierobjectmodel
k_means=KMeans(n_clusters=3,random_state=0)
#Trainthemodelusingthetrainingsetsandcheckscore
model.fit(X)
#PredictOutput
predicted=model.predict(x_test)
RCode
library(cluster)
fit<kmeans(X,3)#5clustersolution
8. Random Forest
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
21/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
Random Forest is a trademark term for an ensemble of decision trees. In Random Forest,
wevecollection ofdecisiontrees (so known as Forest). To classify a new object based on attributes,
each tree gives a classi cation and we say the tree votes for that class. The forest chooses the
classi cation having the most votes (over all the trees in the forest).
Each tree is planted & grownas follows:
1. If the number of cases in the training set is N, then sample of N cases is taken at random but with
replacement. This sample will be the training set for growing the tree.
2. If there are M input variables, a number m<<M is speci ed such that at each node, m variables are
selected at random out of the M and the best split on these m is used to split the node. The value of m
is held constant during the forest growing.
3. Each tree is grown to the largest extent possible. There is no pruning.
For more details on this algorithm, comparing with decision tree and tuning model parameters, I
would suggest you to readthese articles:
1. Introduction to Random forest Simpli ed
(https://www.analyticsvidhya.com/blog/2014/06/introduction-random-forest-simpli ed/)
2. Comparing a CART model to Random Forest (Part 1)
(https://www.analyticsvidhya.com/blog/2014/06/comparing-cart-random-forest-1/)
3. Comparing a Random Forest to a CART model (Part 2)
(https://www.analyticsvidhya.com/blog/2014/06/comparing-random-forest-simple-cartmodel/)
4. Tuning the parameters of your Random Forest model
(https://www.analyticsvidhya.com/blog/2015/06/tuning-random-forest-model/)
Python
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
22/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
#ImportLibrary
fromsklearn.ensembleimportRandomForestClassifier
#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_d
ataset
#CreateRandomForestobject
model=RandomForestClassifier()
#Trainthemodelusingthetrainingsetsandcheckscore
model.fit(X,y)
#PredictOutput
predicted=model.predict(x_test)
RCode
library(randomForest)
x<cbind(x_train,y_train)
#Fittingmodel
fit<randomForest(Species~.,x,ntree=500)
summary(fit)
#PredictOutput
predicted=predict(fit,x_test)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
23/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
As a data scientist, the data we are o ered also consist of many features, this sounds good for
building good robust model but there is a challenge. Howdyou identify highly signi cant variable(s)
out 1000 or 2000? In such cases, dimensionality reduction algorithm helps us along with various
other algorithms like Decision Tree, Random Forest, PCA, Factor Analysis, Identify based on
correlation matrix, missing value ratio and others.
To know more about this algorithms, you can readBeginners Guide To Learn Dimension Reduction
Techniques (https://www.analyticsvidhya.com/blog/2015/07/dimension-reduction-methods/).
Python Code
#ImportLibrary
fromsklearnimportdecomposition
#Assumedyouhavetrainingandtestdatasetastrainandtest
#CreatePCAobejectpca=decomposition.PCA(n_components=k)#defaultvalueofk=min(n_sample,n_feat
ures)
#ForFactoranalysis
#fa=decomposition.FactorAnalysis()
#ReducedthedimensionoftrainingdatasetusingPCA
train_reduced=pca.fit_transform(train)
#Reducedthedimensionoftestdataset
test_reduced=pca.transform(test)
#Formoredetailonthis,pleasereferthislink(http://scikitlearn.org/stable/modules/decompositi
on.html#decompositions).
R Code
library(stats)
pca<princomp(train,cor=TRUE)
train_reduced<predict(pca,train)
test_reduced<predict(pca,test)
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
24/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
GBM & AdaBoost are boosting algorithms used when we deal with plenty of data to make a
prediction with high prediction power. Boosting is an ensemble learning algorithm which combines
the prediction of several base estimators in order to improve robustness over a single estimator. It
combines multipleweak or average predictors to a build strong predictor. These boosting algorithms
always work well in data science competitions like Kaggle, AV Hackathon, CrowdAnalytix.
More:
Know
about
Gradient
and
AdaBoost
in
detail
(https://www.analyticsvidhya.com/blog/2015/05/boosting-algorithms-simpli ed/)
PythonCode
#ImportLibrary
fromsklearn.ensembleimportGradientBoostingClassifier
#Assumedyouhave,X(predictor)andY(target)fortrainingdatasetandx_test(predictor)oftest_d
ataset
#CreateGradientBoostingClassifierobject
model=GradientBoostingClassifier(n_estimators=100,learning_rate=1.0,max_depth=1,random_state=0)
#Trainthemodelusingthetrainingsetsandcheckscore
model.fit(X,y)
#PredictOutput
predicted=model.predict(x_test)
R Code
library(caret)
x<cbind(x_train,y_train)
#Fittingmodel
fitControl<trainControl(method="repeatedcv",number=4,repeats=4)
fit<train(y~.,data=x,method="gbm",trControl=fitControl,verbose=FALSE)
predicted=predict(fit,x_test,type="prob")[,2]
GradientBoostingClassi er and Random Forest are two di erent boosting tree classi er and often
people ask about the di erence between these two algorithms
(http://discuss.analyticsvidhya.com/t/what-is-the-fundamental-di erence-between-randomforest(https:/
/datahack.analyticsvidhya.com/contest/skilltestand-gradient-boosting-algorithms/2341)
.
python-for-data-science/)
End Notes
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
25/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
End Notes
By now, I am sure, you would have an idea of commonly used machine learning algorithms. My sole
intention behind writing this article and providing the codes in R and Python is to get you started right
away.If you are keen to master machine learning, start right away. Take up problems, develop
aphysical understanding of the process, apply these codes and see the fun!
Did you nd this article useful ? Share your views and opinions in the comments section below.
If you like what you just read & want to continue your analytics
learning,subscribe to our emails
(http://feedburner.google.com/fb/a/mailverify?uri=analyticsvidhya),follow us
on twitter (http://twitter.com/analyticsvidhya)or like ourfacebookpage
(http://facebook.com/analyticsvidhya).
Share this:
(https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/?share=linkedin&nb=1)
1K+
(https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/?share=facebook&nb=1)
(https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/?share=googleplus1&nb=1)
(https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/?share=twitter&nb=1)
(https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/?share=pocket&nb=1)
(https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/?share=reddit&nb=1)
RELATED
(https://www.analyticsvidhya.com/
(https://www.analyticsvidhya.com/
(https:/
/datahack.analyticsvidhya.com/contest/skilltestblog/2015/12/year-review-analyticsblog/2015/09/full-cheatsheetpython-for-data-science/)
vidhya-from-2015/)
machine-learning-algorithms/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
(https://www.analyticsvidhya.com/
blog/2016/05/h2o-data-table-buildmodels-large-data-sets/)
26/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
vidhya-from-2015/)
machine-learning-algorithms/)
models-large-data-sets/)
In "Business Analytics"
In "Machine Learning"
In "Business Analytics"
Previous Article
Next Article
(https://www.analyticsvidhya.com/blog/2015/08/learn- (https://www.analyticsvidhya.com/blog/2015/08/beginnerscross-selling-upselling/)
guide-learn-content-based-recommendersystems/)
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
27/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
(https://www.analyticsvidhya.com/blog/author/sunil-ray/)
Author
50 COMMENTS
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
28/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
Karthikeyan
says:
REPLY
(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92394#RESPOND)
AUGUST 11, 2015 AT 3:13 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-92394)
Thank you very much, A Very useful and excellent compilation. I have already bookmarked this
page.
hemanth says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92400#RESPOND)
AUGUST 11, 2015 AT 4:50 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-92400)
venugopal REPLY
says:(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92402#RESPOND)
AUGUST 11, 2015 AT 6:05 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-92402)
Dr Venugopala
Rao says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92404#RESPOND)
AUGUST 11, 2015 AT 6:27 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-92404)
Super Compilation
Kishor Basyal
REPLYsays:
(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92410#RESPOND)
AUGUST 11, 2015 AT 7:30 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-92410)
Brian Thomas
REPLYsays:
(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92414#RESPOND)
AUGUST 11, 2015 AT 9:24 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-
(https://datahack.analyticsvidhya.com/contest/skilltestALGORITHMS/#COMMENT-92414)
python-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
29/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
Very nicely done! Thanks for this.
Tesfaye says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92416#RESPOND)
AUGUST 11, 2015 AT 10:30 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-92416)
Tesfaye says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92417#RESPOND)
AUGUST 11, 2015 AT 10:31 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-92417)
Huzefa says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92436#RESPOND)
AUGUST 11, 2015 AT 3:53 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-92436)
Hello,
Superb information in just one blog. Can anyone help me to run the codes in R what should be
replaced with ~ symbol in codes? Help is appreciated
Huzefa says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92437#RESPOND)
AUGUST 11, 2015 AT 3:54 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-92437)
Hello,
Superb information in just one blog. Can anyone help me to run the codes in R what should be
replaced with ~ symbol in codes? Help is appreciated .
Sudipta Basak
says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=92497#RESPOND)
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
30/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
AUGUST 12, 2015 AT 3:35 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-92497)
Hi All,
Thanks for the comment
Thanks Dalila
Borun Chowdhury
says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=109762#RESPOND)
APRIL 21, 2016 AT 8:48 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-109762)
Thats not the reason for taking the log. The underlying assumption in logistic regression is that the
probability is governed by a step function whose argument is linear in the attributes. First of all the
assumption of linearity or otherwise introduces bias. However, logistic regression being a
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
31/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
parametric model some bias is inevitable. The reason to choose a linear relationship is not
because its easy to solve but because a higher order polynomial introduces higher bias and one
would not like to do so without good reason.
Now coming to the choice of log, it is just a convention. Basically, once we have decided to go
with a linear model, in the case of one attribute we model the probability by
p(x) = f( ax+b)
such that p(-in nity)=0 and p(in nity)=0. It so happens that this is satis ed by
p(x) = exp(ax+b)/ (1 + exp(ax+b))
which can be re-written as
log(p(x)/(1-p(x)) = a x+ b
While I am at it, it may be useful to talk about another point. One should ask is why we dont use
least square method. The reason is that a yes/no choice is a Bernoulli random variable and thus
we estimate the probability according to maximum likelihood wrt Bernoulli process. For linear
regression the assumption is that the residuals around the true function are distributed according
to a normal distribution and the maximum likelihood estimate for a normal distribution amounts to
the least square method. So deep down linear regression and logistic regression both use
maximum likelihood estimates. Its just that they are max likelihoods according to di erent
distributions.
Nice summary!
@Huzefa: you shouldnt replace the ~ in the R code, it basically means as a function of. You can
also keep the . right after, it stands for all other variables in the dataset provided. If you want to
be explicit, you can write y ~ x1 + x2 + where x1, x2 .. are the names of the columns of your
data.frame or data.table.
Further note on formula speci cation: by default R adds an intercept, so that y ~ x is equivalent to y
~ 1 + x, you can remove it via y ~ 0 + x. Interactions are speci ed with either * (which also adds the
two variables) or : (which only adds the interaction term). y ~ x1 * x2 is equivalent to y ~ x1 + x2 + x1 :
x2.
(https://datahack.analyticsvidhya.com/contest/skilltestHope this helps!
python-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
32/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
Glenn Nelson
says:
REPLY(https://www.facebook.com/app_scoped_user_id/10153310687928141/)
(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=94650#RESPOND)
SEPTEMBER 10, 2015 AT 7:48 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-94650)
I took the Stanford-Coursera ML class, but have not used it, and I found this to be an incredibly
useful summary. I appreciate the real-world analogues, such as your mention of Jezzball. And
showing the brief code snips is terri c.
Shankar Pandala
(https://www.facebook.com/app_scoped_user_id/10153564059874654/) says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=95096#RESPOND)
SEPTEMBER 15, 2015 AT 12:09 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-95096)
This is very easy and helpful than any other courses I have completed.
simple. clear. To the point.
markpratley
says:
REPLY
(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=96010#RESPOND)
SEPTEMBER 26, 2015 AT 9:29 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-96010)
whystatistics
says:
REPLY
(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=96181#RESPOND)
SEPTEMBER 29, 2015 AT 10:25 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-96181)
Hi Sunil,
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
33/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
This is really superb tutorial along with good examples and codes which is surely much helpful.
Just, can you add Neural Network here in simple terms with example and code.
Sayan Putatunda
says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=98659#RESPOND)
NOVEMBER 1, 2015 AT 7:00 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-98659)
Benjamin says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=101309#RESPOND)
DECEMBER 5, 2015 AT 7:00 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-101309)
This is a great resource overall and surely the product of a lot of work.
Just a note as I go through this, your comment on Logistic Regression not actually being
regression is in fact wrong. It maps outputs to a continuous variable bound between 0 and 1 that
we regard as probability. it makes classi cation easy but that is still an extra step that requires the
choice of a threshold which is not the main aim of Logistic Regression. As a matter of fact it falls
under the umbrella of Generalized Libear Models as the glm R package hints it in your code
example.
I thought this was interesting to note so as not to forget that logistic regression output is richer
than 0 or 1.
Thanks for the great article overall.
Bansari Shah
REPLYsays:
(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=103718#RESPOND)
JANUARY 14, 2016 AT 6:27 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING(https://datahack.analyticsvidhya.com/contest/skilltestALGORITHMS/#COMMENT-103718)
python-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
34/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
Thank you.. reallu helpful article
ayushgg92REPLY
says:
(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=104348#RESPOND)
JANUARY 22, 2016 AT 9:54 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-104348)
I wanted to know if I can use rattle instead of writing the R code explicitly
Debasis says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=104350#RESPOND)
JANUARY 22, 2016 AT 10:35 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-104350)
Debashis says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=105770#RESPOND)
FEBRUARY 16, 2016 AT 8:19 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-105770)
Anthony says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=105771#RESPOND)
FEBRUARY 16, 2016 AT 8:39 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-105771)
Informative and easy to follow. Ive recently started following several pages like this one and this is
the best material ive seen yet.
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
35/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
Swathi says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=105820#RESPOND)
FEBRUARY 17, 2016 AT 12:02 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-105820)
Ncolas Robles
says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=105853#RESPOND)
FEBRUARY 18, 2016 AT 5:51 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-105853)
Cool stu !
I just cant get the necessary libraries
wizzerd says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=106262#RESPOND)
FEBRUARY 26, 2016 AT 12:09 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-106262)
Good Article.
Pansy says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=106874#RESPOND)
MARCH 8, 2016 AT 3:04 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-106874)
J (https://twitter.com/xuxoramos)
says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=107024#RESPOND)
MARCH 10, 2016 AT 8:54 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-107024)
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
36/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
Somewhat irresponsible article since it does not mention any measure of performance and only
gives cooking recipes without understanding what algorithm does what and the stats behind it.
Cooking recipes like these are the ones that place people in Drew Conways danger zone
(https://www.quora.com/In-the-data-science-venn-diagram-why-is-the-common-region-ofHacking-Skills-and-Substantive-Expertise-considered-as-danger-zone
(https://www.quora.com/In-the-data-science-venn-diagram-why-is-the-common-region-ofHacking-Skills-and-Substantive-Expertise-considered-as-danger-zone)), thus making
programmers the worst data analysts (let alone scientists, that requires another mindset
completely). I highly recommend anyone wishing to enter into this brave new world not to jump
into statistical learning without proper statistical background. Otherwise you could end up like
Google, Target, Telefonica, or Google (again) and become a poster boy for The Big Flops of Big
Data.
George says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=112323#RESPOND)
JUNE 17, 2016 AT 1:34 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-112323)
Robin White
(http://thedevmasters.com)
says:
REPLY
(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=107434#RESPOND)
MARCH 15, 2016 AT 11:38 PM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-107434)
Great article. It really summarize some of the most important topics on machine learning.
But as asked above I would like to present thedevmasters.com as a company with a really good
course to learn more depth about machine learning with great professors and a sense of
community that is always helping itself to continue learning even after the course ends.
salman ahmed
says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=107736#RESPOND)
MARCH 19, 2016 AT 8:29 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-107736)
Borun Chowdhury
says:
(https://datahack.analyticsvidhya.com/contest/skilltestREPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=109757#RESPOND)
python-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
37/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
APRIL 21, 2016 AT 8:13 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-109757)
Very succinct description of some important algorithms. Thanks. Id like to point out a mistake in
the SVM section. You say where each point has two co-ordinates (these co-ordinates are known
as Support Vectors). This is not correct, the coordinates are just features. Its the points lying on the
margin that are called the support vectors. These are the points that support the margin i.e.
de ne it (as opposed to a weighted average of all points for instance.)
nd says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=112309#RESPOND)
(https://datahack.analyticsvidhya.com/contest/skilltestALGORITHMS/#COMMENT-112317)
python-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
38/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
The amazing article. Im new in data analysis. Its very useful and easy to understand.
Thanks,
sabarikannan
REPLYsays:
(HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=112851#RESPOND)
JUNE 30, 2016 AT 5:35 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-112851)
This is really good article, also if you would have explain about Anomaly dection algorithm that
will really helpful for everyone to know , what and where to apply in machine learning.
Baseer says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=114920#RESPOND)
AUGUST 18, 2016 AT 5:11 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-114920)
Very precise quick tutorial for those who want to gain insight of machine learning
JS says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=115537#RESPOND)
Superb!
great summary,
Thank you
Faizan says:
REPLY (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNING-ALGORITHMS/?REPLYTOCOM=116024#RESPOND)
SEPTEMBER 13, 2016 AT 9:17 AM (HTTPS://WWW.ANALYTICSVIDHYA.COM/BLOG/2015/08/COMMON-MACHINE-LEARNINGALGORITHMS/#COMMENT-116024)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
39/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
LEAVE A REPLY
Connect with:
(https://www.analyticsvidhya.com/wp-login.php?
action=wordpress_social_authenticate&mode=login&provider=Facebook&redirect_to=https%3A%2F%2Fwww.anal
machine-learning-algorithms%2F)
Your email address will not be published.
Comment
Name (required)
Email (required)
Website
SUBMIT COMMENT
TOP AV USERS
Rank
Name
Points
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
40/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
1
5378
4868
4407
4353
3371
(http://www.greatlearning.in/great-lakes-pgpba?
utm_source=avm&utm_medium=avmbanner&utm_campaign=pgpba)
(http://datascience.manipalglobal.com/content/mgads/lp/all-
(https://datahack.analyticsvidhya.com/contest/skilltestprograms.html?utm_source=Media&utm_medium=AnalyticsVidhya&utm_campaign=analyticsvidhya-mediapython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
41/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
buying)
POPULAR POSTS
A Complete Tutorial to Learn Data Science with Python from Scratch
(https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-pythonscratch-2/)
Essentials of Machine Learning Algorithms (with Python and R Codes)
(https://www.analyticsvidhya.com/blog/2015/08/common-machine-learning-algorithms/)
A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python)
(https://www.analyticsvidhya.com/blog/2016/04/complete-tutorial-tree-based-modeling-scratch-inpython/)
40 Interview Questions asked at Startups in Machine Learning / Data Science
(https://www.analyticsvidhya.com/blog/2016/09/40-interview-questions-asked-at-startups-inmachine-learning-data-science/)
7 Types of Regression Techniques you should know!
(https://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/)
A Complete Tutorial on Time Series Modeling in R
(https://www.analyticsvidhya.com/blog/2015/12/complete-tutorial-time-series-modeling/)
GrandTheft
AutoIVSTEAM
CDKEY
Microsoft
Windows10Pro
CDKEY
AgeofEmpires
III:Complete
Collection
$5.53
$55.00
$9.63
GET3%OFFWITHTHECODE:BACK
(https://datahack.analyticsvidhya.com/contest/skilltestShopnow!
python-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
42/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
(https://datahack.analyticsvidhya.com/contest/av-casino-ii-
introduction-to-probability/)
(http://imarticus.org/sas-online)
RECENT POSTS
(https://www.analyticsvidhya.com/blog/2016/09/comprehensive-introduction-to-apachespark-rdds-dataframes-using-pyspark/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
43/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
(https://www.analyticsvidhya.com/blog/2016/09/40-interview-questions-asked-atstartups-in-machine-learning-data-science/)
(https://www.analyticsvidhya.com/blog/2016/09/40-interview-questions-asked-at-startups-inmachine-learning-data-science/)
MANISH SARASWAT , SEPTEMBER 16, 2016
(https://www.analyticsvidhya.com/blog/2016/09/skilltest-statistics-ii-solutions/)
(https://www.analyticsvidhya.com/blog/2016/09/skilltest-statistics-ii-solutions/)
Skilltest
Statistics II
Solutions
(https://www.analyticsvidhya.com/blog/2016/09/how-to-prepare-for-your- rst-datascience-hackathon-in-less-than-2-weeks/)
How to prepare for your first data science hackathon in less than 2 weeks?
(https://www.analyticsvidhya.com/blog/2016/09/how-to-prepare-for-your-first-data-science-hackathon
in-less-than-2-weeks/)
KUNAL JAIN , SEPTEMBER 8, 2016
(http://www.edvancer.in/course/cbap?
utm_source=AV&utm_medium=AVads&utm_campaign=AVadsnonfc&utm_content=cbapavad)
GET CONNECTED
(https:/
/datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
44/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
6,338
FOLLOWERS
(http://www.twitter.com/analyticsvidhya)
1,307
FOLLOWERS
(http://www.facebook.com/Analyticsvidhya)
FOLLOWERS
(https://plus.google.com/+Analyticsvidhya)
19,845
Email
SUBSCRIBE
(http://feedburner.google.com/fb/a/mailverify?
uri=analyticsvidhya)
ABOUT US
For those of you, who are wondering what is Analytics Vidhya, Analytics can be de ned as the science of
extracting insights from raw data. The spectrum of analytics starts from capturing data and evolves into
using insights / trends from this data to make informed decisions. Read More
(http://www.analyticsvidhya.com/about-me/)
STAY CONNECTED
6,338
FOLLOWERS
(http://www.twitter.com/analyticsvidhya)
1,307
FOLLOWERS
(http://www.facebook.com/Analyticsvidhya)
FOLLOWERS
(https://plus.google.com/+Analyticsvidhya)
LATEST POSTS
19,845
Email
SUBSCRIBE
(https://feedburner.google.com/fb/a/mailverify?
uri=analyticsvidhya)
(https://www.analyticsvidhya.com/blog/2016/09/comprehensive-introduction-to-apachespark-rdds-dataframes-using-pyspark/)
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
45/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
(https://www.analyticsvidhya.com/blog/2016/09/40-interview-questions-asked-atstartups-in-machine-learning-data-science/)
(https://www.analyticsvidhya.com/blog/2016/09/skilltest-statistics-ii-solutions/)
(https://www.analyticsvidhya.com/blog/2016/09/skilltest-statistics-ii-solutions/)
Skilltest
Statistics II
Solutions
(https://www.analyticsvidhya.com/blog/2016/09/how-to-prepare-for-your- rst-datascience-hackathon-in-less-than-2-weeks/)
How to prepare for your first data science hackathon in less than 2 weeks?
(https://www.analyticsvidhya.com/blog/2016/09/how-to-prepare-for-your-first-data-science-hackathonin-less-than-2-weeks/)
KUNAL JAIN , SEPTEMBER 8, 2016
QUICK LINKS
Home (https://www.analyticsvidhya.com/)
About Us (https://www.analyticsvidhya.com/about-me/)
Our team (https://www.analyticsvidhya.com/aboutme/team/)
Privacy Policy
(https://www.analyticsvidhya.com/privacy-policy/)
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
46/47
20/09/2016
EssentialsofMachineLearningAlgorithms(withPythonandRCodes)
python-for-data-science/)
Refund Policy
(https://www.analyticsvidhya.com/refund-policy/)
Terms of Use (https://www.analyticsvidhya.com/terms/)
TOP REVIEWS
(https://datahack.analyticsvidhya.com/contest/skilltestpython-for-data-science/)
https://www.analyticsvidhya.com/blog/2015/08/commonmachinelearningalgorithms/
47/47