/Machine-Learning

Four projects that implement Supervised Learning, Randomized Optimization, Unsupervised Learning and Dimensionality Reduction, and Markov Decision Processes algorithms. Several algorithms for each are explored and compared with each other. Algorithms are implemented using Weka, ABAGAIL, and BURLAP in Java and Scikit-learn in Python.

Primary LanguagePython

Machine Learning Repository

Folders:

  1. Supervised Learning
    • Analyze five different supervised learning algorithms – Decision Trees, Boosting, Neural Networks, Support Vector Machines, and k-Nearest Neighbors on two different datasets. Weka, a suite of machine learning software written in Java, is used for analysis.
  2. Randomized Optimization
    • Four local random search algorithms – randomized hill climbing, simulated annealing, genetic algorithms, and MIMIC are implemented. Part one will use the first three algorithms to find good weights in the Neural Network for the dataset from assignment one. Part two uses all four search techniques on three different toy optimization problems. The algorithms are implemented using the ABAGAIL library in Jython.
  3. Unsupervised Learning and Dimensionality Reduction
    • Six different algorithms are implemented; the first two are clustering – k-means clustering and Expectation Maximization and the last four are dimensionality reduction algorithms – PCA, ICA, Randomized Projections, and Random Forest. The experiments are split into four main parts. All algorithms are evaluated using Scikit-learn in Python.
  4. Markov Decision Processes
    • Two interesting Markov Decision Processes in Grid World are used to demonstrate three techniques used in reinforcement learning. Each MDP is solved using Value Iteration, Policy Iteration, and Q-Learning. The algorithms are implemented using the BURLAP java code library in Jython.

Languages:
Python 3.6, Jython, Java

Libraries:
ABAGAIL, BURLAP, Pandas, NumPy, Scikit-learn, SciPy, Matplotlib

Environments:
Jupyter Notebooks

Software:
WEKA GUI 3.8.2, Microsoft Excel