# Kaggle

Kaggle is a website meant for allowing competitive machine learning contests, where a large number of contestents apply various machine learning techniques in order to maximise of minimize the objective functions as stipulated by the individual competions. The common languages used are generally Python (with Anaconda) or R.

## Competitions

This repository contains the python scripts for several competitions, from the easy Titanic example to the harder MNIST Image Classification problem.

## Algorithms

Several machine learning algorithms were tried and tested for each of the competitions. Have tried more classification algorithms and neural networks than the other algorithms. Some of the more common ones are :

*Classification* : Decision Tree, Random Forest, Gradient Boosting Machines, Extreme Gradient Boosting Trees, Gaussian Naive Bayes, Support Vector Machines, Logistic Regression, Perceptron and Stochastic Gradient Training

*Clustering* : K-Means, K-NN, Hierarchical Clustering

*Regression* : Multivariate Linear Regression, Support Vector Machine

*Dimensionality Reduction* : PCA,

*Embedding/Visualization* : Sammon's Mapping, t-Distributed Stochastic Neighbor Embedding

*Neural Networks* : Simple Neural Networks on Theano, Convolutional Neural Networks (Keras), Long Short Term Memory Recurrent Neural Networks (Keras), Gated Recurrent Neural Networks (Keras), Deep Neural Networks (Keras), Deep Reinforcement Networks / Deep Q-Networks (Keras, not successful).