# Machine Learning Algorithms you should Know in Data Science

Machine learning algorithms are algorithms that learn from given data inputs to make predictions. In other words, they can access case data and learn it for themselves for future case predictions. There are two types of machine learning algorithms covered here:

Supervised machine learning: Here the algorithm is trained with a set of training data similar to the expected output, which then facilitate its ability to reach an accurate conclusion when given new data.

Unsupervised machine learning: Here the algorithm is given a bunch of data and must find patterns and relationships therein.

Machine learning algorithms to know to break into the field of data science are as follows:

Linear Regression (For Supervised Learning): Linear regression predicts the relationships between the target output and input features. In other words, it predicts the output values based on input features of data fed into the model. This algorithm is mostly used for forecasting and finding out cause and effect relationship between variables. Practical examples are salary forecasting, real estate prediction, sales prediction and traffic prediction.

Logistic Regression (For Supervised Learning): Logistic regression is used for solving classification problems. When used, it predicts the group to which the current object under observation belongs to.  It gives you a discrete binary outcome between 0 and 1. Simple illustrations would be whether a person will vote or not in the upcoming election, whether an applicant would default on loan or not, whether a mobile network user will switch mobile communication provider or not.

Support Vector Machines (SVM) (For Supervised Learning): A Support Vector Machine (SVM) is a classifier which creates a line that separates the data into classes when given a training dataset. This machine learning algorithm has strong regularization and can be leveraged both for classification or regression challenges. Support vector machines regression algorithms have found several applications in the classification of disease occurrences, classification of images and text and hypertext categorization.

Random Forest (For Supervised Learning):  A random forest algorithm is a decision tree classifier, meaning, given a training dataset with targets (e.g whether a child will like a movie or not) and features (e.g preferred movie characters/actors) the decision tree algorithm will come up with some set of rules. The set rules can be used to perform the prediction on the test dataset. Application of this algorithm can be to identify disease by analyzing patient’s medical records.

K-Means Clustering (For Unsupervised Learning): K-Means is one of the most popular “clustering” algorithms.  It allocates data points to a number of clusters (k). A cluster refers to a collection of data points aggregated together because of certain similarities. Hence, it can be used to find out which group a certain object really belongs to. For example, in marketing, it can be used to group people with similar characteristics into groups that make it easier for marketers to target.

K Nearest Neighbors (KNN) (For Supervised Learning): K nearest neighbors is a simple algorithm that stores all available cases and classifies new cases based on a similarity measure. In other words, it is an approach to data classification that estimates how likely a data point is to be a member of one group or the other depending on what group the data points nearest to it are in. The k-nearest-neighbor is popularly called a “lazy learner algorithm”, meaning that it does not build a model on ground using the training set, rather it waits until a query of the data set is performed before identifying and grouping cases.

Neural Networks (For Supervised or Unsupervised Learning): Neural Networks is a field of Artificial Intelligence (AI) where we, by inspiration from the human brain, find data structures and algorithms for learning and classification of data. Many tasks that humans perform naturally fast, such as the recognition of a familiar face, proves to be a very complicated task for a computer when conventional programming methods are used. By applying Neural Network techniques a program can learn by examples, and create an internal structure of rules to classify different inputs, such as recognizing images.

Machine learning algorithms in conclusion is a powerful tool that is already solving some of the world most pressing problems in diverse sectors. This field will continue to grow as more problems rely on data for accurate diagnosis and solution.