/zeta-learn

zeta-lean: minimalistic python machine learning library built on top of numpy and matplotlib

Primary LanguagePythonMIT LicenseMIT

zeta-learn

zeta-learn is a minimalistic python machine learning library designed to deliver fast and easy model prototyping.

zeta-learn aims to provide an extensive understanding of machine learning through the use of straightforward algorithms and readily implemented examples making it a useful resource for researchers and students.

Dependencies

  • numpy >= 1.15.0
  • matplotlib >= 2.0.0

Features

  • Keras like Sequential API for building models.
  • Built on Numpy and Matplotlib.
  • Examples folder with readily implemented machine learning models.

Install

  • pip install ztlearn

Examples

Principal Component Analysis (PCA)

digits pca

mnist pca

KMEANS

k-means (4 clusters)

Convolutional Neural Network (CNN)

DIGITS CNN

Input Shape: (1, 8, 8)
+---------------------+---------+--------------+
¦ LAYER TYPE          ¦  PARAMS ¦ OUTPUT SHAPE ¦
+---------------------+---------+--------------+
¦ Conv2D              ¦     320 ¦   (32, 8, 8) ¦
¦ Activation: RELU    ¦       0 ¦   (32, 8, 8) ¦
¦ Dropout             ¦       0 ¦   (32, 8, 8) ¦
¦ BatchNormalization  ¦   4,096 ¦   (32, 8, 8) ¦
¦ Conv2D              ¦  18,496 ¦   (64, 8, 8) ¦
¦ Activation: RELU    ¦       0 ¦   (64, 8, 8) ¦
¦ MaxPooling2D        ¦       0 ¦   (64, 7, 7) ¦
¦ Dropout             ¦       0 ¦   (64, 7, 7) ¦
¦ BatchNormalization  ¦   6,272 ¦   (64, 7, 7) ¦
¦ Flatten             ¦       0 ¦     (3,136,) ¦
¦ Dense               ¦ 803,072 ¦       (256,) ¦
¦ Activation: RELU    ¦       0 ¦       (256,) ¦
¦ Dropout             ¦       0 ¦       (256,) ¦
¦ BatchNormalization  ¦     512 ¦       (256,) ¦
¦ Dense               ¦   2,570 ¦        (10,) ¦
+---------------------+---------+--------------+

TOTAL PARAMETERS: 835,338

DIGITS Dataset Model Results

digits cnn results tiled

DIGITS Dataset Model Loss

digits model loss

DIGITS Dataset Model Accuracy

digits model accuracy

MNIST CNN

Input Shape: (1, 28, 28)
+---------------------+------------+--------------+
¦ LAYER TYPE          ¦     PARAMS ¦ OUTPUT SHAPE ¦
+---------------------+------------+--------------+
¦ Conv2D              ¦        320 ¦ (32, 28, 28) ¦
¦ Activation: RELU    ¦          0 ¦ (32, 28, 28) ¦
¦ Dropout             ¦          0 ¦ (32, 28, 28) ¦
¦ BatchNormalization  ¦     50,176 ¦ (32, 28, 28) ¦
¦ Conv2D              ¦     18,496 ¦ (64, 28, 28) ¦
¦ Activation: RELU    ¦          0 ¦ (64, 28, 28) ¦
¦ MaxPooling2D        ¦          0 ¦ (64, 27, 27) ¦
¦ Dropout             ¦          0 ¦ (64, 27, 27) ¦
¦ BatchNormalization  ¦     93,312 ¦ (64, 27, 27) ¦
¦ Flatten             ¦          0 ¦    (46,656,) ¦
¦ Dense               ¦ 11,944,192 ¦       (256,) ¦
¦ Activation: RELU    ¦          0 ¦       (256,) ¦
¦ Dropout             ¦          0 ¦       (256,) ¦
¦ BatchNormalization  ¦        512 ¦       (256,) ¦
¦ Dense               ¦      2,570 ¦        (10,) ¦
+---------------------+------------+--------------+

TOTAL PARAMETERS: 12,109,578

MNIST Dataset Model Results

mnist cnn results tiled

Regression

linear regression

polynomial regression

elastic regression