Back to homepage

Nadig Blog

Understanding Random Forests and implementing it in Python scikit-learn

December 04, 2017

Random Forests are a class of ensemble machine learning algorithms for classification, regression and analysis. Random forests run efficiently on large data sets and are known for their unwavering accuracy. In this article, I will explain the basics on random forests along with an example implementation using Python Scikit-learn

Implementing Genetic Algorithms from scratch in Python

November 23, 2017

Biologically inspired genetic algorithms find a lot applications in optimization and scheduling software. Genetic algorithms perform optimized search of the solution space by utilizing evolutionary concepts and biological operations such as cross overs, selection and mutation. In this post, I will implement a genetic algorithm from scratch in Python.

Understanding Genetic Algorithms using an example

November 04, 2017

Genetic algorithms are a class of machine learning algorithms which approximate the process of natural selection seen in nature. Genetic algorithms belong to a larger set Evolutionary algorithms, which take Charles Darwin's evolution theory as the center piece. Genetic algorithms are widely used to for solving variety of optimization algorithms in many different domains.

Implementing DBSCAN Clustering from scratch in Python

September 13, 2017

DBSCAN - Density-based spatial clustering of applications with noise is one of the most common machine learning data clustering algorithms. DBSCAN is especially potent on larger sets of data that have considerable noise. In this post, I will implement the DBSCAN algorithm from scratch in Python.

Understanding DBSCAN and implementing it in Python scikit-learn

August 23, 2017

DBSCAN - Density-based spatial clustering of applications with noise is one of the most common machine learning data clustering algorithms and it is one of the most academically cited methods. DBSCAN is a spatial algorithm, it groups clusters of points which are spatially close to each other.

Implementing SVM from Scratch - in Python

July 29, 2017

Support vector machines (SVMs, also support vector networks) are supervised learning models with associated learning algorithms that analyze data used for classification and regression analysis. SVMS is one of the most commonly implemented Machine Learning classification algorithms. In this post I will implement the SMV algorithm from scratch in Python.

SVM Tutorial: The Algorithm and sklearn Implementation

July 13, 2017

Support Vector Machines are perhaps one of the most(if not the most) used classification algorithms. One of the prime advantages of SVM is that it works very good right out of the box. You can take the classifier in it’s generic form, without any explicit modifications, run it directly on your data and get good results.

Implementing Decision Trees From Scratch - in Python

May 01, 2017

Decision Tree learning is one of the most widely used and practical methods for inductive inference. Decision Trees are easily understood by human and can be developed/used without much pain. In this post I will implement decision trees from scratch in Python.

Machine Learning: Understanding Decision Tree Learning

April 23, 2017

Decision Tree learning is one of the most widely used and practical methods for inductive inference. Decision Trees are easily understood by human and can be developed/used without much pain. In this post I will walk through the basics and the working of decision trees.

Parallel Computing in JavaScript : The Guide

March 29, 2017

Parallel programming in JavaScript is not as straight-forward as it is in languages such as C/C++ and Java or even Python due to its event based paradigm. JavaScript, while traditionally being used for performing small computations, is being increasingly used for heavy-wight applications. In this post I will focussing on parallel computation in JavaScript through Web Workers API.

Implementing K Means Clustering from Scratch - in Python

March 04, 2017

k-means clustering is a method of vector quantization, that can be used for cluster analysis in data mining. K Nearest Neighbours is one of the most commonly implemented Machine Learning clustering algorithms. In this post I will implement the K Means Clustering algorithm from scratch in Python.

Parallel Computing in C using OpenMP

February 25, 2017

OpenMP, short for "Open Multi-Processing", is an API that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran - on most platforms, processor architectures and operating systems. OpenMP consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior. In this post, we will be exploring OpenMP for C.

Implementing K Nearest Neighbours in Parallel from scratch

February 09, 2017

One of the prime drawbacks of k-NN is its efficiency. The brute force version of k-NN that was written previously is highly parallelizable. The computation of distances between the attributes is independent of one another. Also, the classification of incoming data points is independent of one another and can be easily accomplished in parallel. In this post I will implement the algorithm from scratch in Python in parallel.

Parallel Programming in Python with ease

January 25, 2017

Parallel programming in Python is a bit tricky as compared to languages such as C/C++ and Java. Python is restricted to a single OS thread; therefore, it cannot make use of the multiple cores and processors available on modern hardware. In this post I will use the `multiprocessing` library to easily create and coordinate multiple Python processes and run code in parallel.

Implementing K Nearest Neighbours from Scratch - in Python

January 13, 2017

k -Nearest Neighbors algorithm (or k-NN for short) is a non-parametric method used for classification and regression. K Nearest Neighbours is one of the most commonly implemented Machine Learning classification algorithms. In this post I will implement the algorithm from scratch in Python.

First Post

December 31, 2016

Hey there! This is my first post. This post contains some random quotes.