This started as part of a project for my graduate course - Machine Learning (CS536) and I extended it further for my own learning. In order to understand the workings of the different machine learning algorithms, I started implementing them using just Numpy and Python without the aid of any external libraries.

CODEThis was the final project for my graduate course CS520 - Introduction to Artificial Intelligence. Given grayscale images, the goal was to produce a colorised version of these images. I used a neural network as our model but kept it very simple.

Also, I did not use any external library and created the neural network from scratch using just Numpy and Python. It can be used to create neural networks with different layers, different number of neurons in each layer and different activations for each layer (ReLU, Sigmoid and Linear).

CODE TECHNICAL REPORTThe project goal was to create a computer bot which can play Minesweeper at different difficulty levels. We created 3 different solvers:

Basic Solver - The basic solver is the most risk-free solver which will not think on its own but just play the safest moves possible. It will stop the game if there are no further safe moves possible.

CSP Solver: This is the main bot which plays the game just like humans. CSP refers to Constraint Satisfaction Problem since this is the main algorithm used by the agent. It plays the game just like a normal human - by creating different constraints for each square opened and each mine flagged. When it opens a cell or flags it, the knowledge base is updated and the constraints/equations are resolved.

Bonus CSP Solver: This is just en extension of the the CSP solver. Unlike a typical mineweeper game where the agent will know what lies behind a cell once it is opened, this solver will only get the information with some probability.

CODE TECHNICAL REPORTI need to write something about this. Work in progress.

CODE TECHNICAL REPORTThis was second project for CS520 - Introduction to Artificial Intelligence. As the name suggests, the project goal was to create a computer bot which can play Minesweeper at different difficulty levels. We created 3 different solvers:

Basic Solver - The basic solver is the most risk-free solver which will not think on its own but just play the safest moves possible. It will stop the game if there are no further safe moves possible. It is a baseline model which we developed to evaluate the accuracy and effectiveness of the other complex models.

CSP Solver: This is the main bot which plays the game just like humans. CSP refers to Constraint Satisfaction Problem since this is the main algorithm used by the agent. It plays the game just like a normal human - by creating different constraints for each square opened and each mine flagged. When it opens a cell or flags it, the knowledge base is updated and the constraints/equations are resolved.

Bonus CSP Solver: This is just en extension of the the CSP solver. Unlike a typical mineweeper game where the agent will know what lies behind a cell once it is opened, this solver will only get the information with some probability. Hence, if it opens a cell, there is an 80% chance of the agent receiving the correct information.

CODE TECHNICAL REPORTThe Python ecosystem is vast and far-reaching in both scope and depth. In this project we came up with an idea of analyzing the python package downloads all over the world. This project involves data collection, data analysis, visual interaction and UI implementation using Google Big Query, Dash and Python. For some time now PyPI have archived all of the logs generated by users. And not many have analyzed this logs.

CODE TECHNICAL REPORT PRESENTATION DEMO VIDEO