AI

What are the common algorithms used in machine learning


Machine learning encompasses a variety of algorithms that can be used for different types of tasks, such as classification, regression, clustering, and more. Below are some of the most common algorithms used in machine learning, along with explanations and sample code for each.

1. Linear Regression

Linear regression is a supervised learning algorithm used for predicting a continuous target variable based on one or more input features. It assumes a linear relationship between the input variables and the output.

Sample Code: Linear Regression with Scikit-Learn

        
            from sklearn import datasets
            from sklearn.model_selection import train_test_split
            from sklearn.linear_model import LinearRegression
            import numpy as np
            # Load the Boston housing dataset
            boston = datasets.load_boston()
            X = boston.data
            y = boston.target
            # Split the dataset into training and testing sets
            X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
            # Create and train the model
            model = LinearRegression()
            model.fit(X_train, y_train)
            # Make predictions
            predictions = model.predict(X_test)
            # Print the coefficients
            print(`Coefficients:`, model.coef_)
            

2. Logistic Regression

Logistic regression is a supervised learning algorithm used for binary classification tasks. It models the probability that a given input belongs to a particular class using the logistic function.

Sample Code: Logistic Regression with Scikit-Learn

        
            from sklearn import datasets
            from sklearn.model_selection import train_test_split
            from sklearn.linear_model import LogisticRegression
            from sklearn.metrics import accuracy_score
            # Load the Iris dataset
            iris = datasets.load_iris()
            X = iris.data
            y = (iris.target == 0).astype(int)  # Binary classification (class 0 vs. not class 0)
            # Split the dataset into training and testing sets
            X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
            # Create and train the model
            model = LogisticRegression()
            model.fit(X_train, y_train)
            # Make predictions
            predictions = model.predict(X_test)
            # Evaluate the model
            print(`Accuracy:`, accuracy_score(y_test, predictions))
            

3. Decision Trees

Decision trees are a supervised learning algorithm used for both classification and regression tasks. They work by splitting the data into subsets based on feature values, creating a tree-like model of decisions.

Sample Code: Decision Tree Classifier with Scikit-Learn

        
            from sklearn import datasets
            from sklearn.model_selection import train_test_split
            from sklearn.tree import DecisionTreeClassifier
            from sklearn.metrics import accuracy_score
            # Load the Iris dataset
            iris = datasets.load_iris()
            X = iris.data
            y = iris.target
            # Split the dataset into training and testing sets
            X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
            # Create and train the model
            model = DecisionTreeClassifier()
            model.fit(X_train, y_train)
            # Make predictions
            predictions = model.predict(X_test)
            # Evaluate the model
            print(`Accuracy:`, accuracy_score(y_test, predictions))
            

4. Support Vector Machines (SVM)

Support Vector Machines are supervised learning algorithms used for classification and regression tasks. SVMs work by finding the hyperplane that best separates different classes in the feature space.

Sample Code: Support Vector Classifier with Scikit-Learn

        
            from sklearn import datasets
            from sklearn.model_selection import train_test_split
            from sklearn.svm import SVC
            from sklearn.metrics import accuracy_score
            # Load the Iris dataset
            iris = datasets.load_iris()
            X = iris.data
            y = iris.target
            # Split the dataset into training and testing sets
            X_train, X_test, y_train, y_test = train_test_split(X , y, test_size=0.2, random_state=42)
            # Create and train the model
            model = SVC()
            model.fit(X_train, y_train)
            # Make predictions
            predictions = model.predict(X_test)
            # Evaluate the model
            print(`Accuracy:`, accuracy_score(y_test, predictions))
            

5. K-Means Clustering

K-Means is an unsupervised learning algorithm used for clustering tasks. It partitions the data into K distinct clusters based on feature similarity, minimizing the variance within each cluster.

Sample Code: K-Means Clustering with Scikit-Learn

        
            from sklearn import datasets
            from sklearn.cluster import KMeans
            import matplotlib.pyplot as plt
            # Load the Iris dataset
            iris = datasets.load_iris()
            X = iris.data
            # Create and fit the K-Means model
            kmeans = KMeans(n_clusters=3, random_state=42)
            kmeans.fit(X)
            # Predict cluster labels
            labels = kmeans.predict(X)
            # Plot the clusters
            plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis')
            plt.title(`K-Means Clustering of Iris Dataset`)
            plt.xlabel(`Feature 1`)
            plt.ylabel(`Feature 2`)
            plt.show()
            

Conclusion

Machine learning offers a diverse set of algorithms that can be applied to various tasks, including regression, classification, and clustering. Understanding these algorithms and their implementations is crucial for building effective machine learning models. The examples provided illustrate how to use popular libraries like Scikit-Learn to implement these algorithms in Python.

Written by Surfside Media

Senior Full Stack Developer specializing in Web Technologies.