Very crude implementations of common machine learning algorithms.
These are some basic implementations of machine learning algorithms from scratch, mostly using numpy/scipy. They are designed as a learning experiment and are not suitable for general use other than that.
Currently, this repository contains the following directories:
supervised/knn.py- K-Nearest Neighbours Classifiersimple_linear_regression.py- Linear Regression designed for single dependent and indepent variablegaussian_naive_bayes.py- Gaussian Naive Bayes classifierperceptron.py- Single Layer Perceptronlogistic_regression.py- Logistic Regression classifierdecision_tree_id3.py- Decision Tree using ID3 algorithm
unsupervised/kmeans.py- simple KMeansdbscan.py- Density-Based Spatial Clustering of Applications with Noisemean_shift.py- Mean Shiftpca.py- Principal Component Analysisrake.py- Rapid Automatic Keyword Extractionspectral_clustering.py- Spectral Clusteringyake.py- Yet Another Keyword Extractor
utils/metrics.py- system evaluation metricscalculations.py- distances and other math related calculations