A Lucid Framework for Transparent and Interpretable Machine Learning Models.

Overview

https://raw.githubusercontent.com/lucidmode/lucidmode/main/images/lucidmode_logo.png



Documentation Status Version License Version Visits

Currently a Beta-Version


lucidmode is an open-source, low-code and lightweight Python framework for transparent and interpretable machine learning models. It has built in machine learning methods optimized for visual interpretation of some of the most relevant calculations.

Documentation

Installation

  • With package manager (coming soon)

Install by using pip package manager:

pip install lucidmode
  • Cloning repository

Clone entire github project

[email protected]:lucidmode/lucidmode.git

and then install dependencies

pip install -r requirements.txt

Models

Artificial Neural Network

Feedforward Multilayer perceptron with backpropagation.

  • fit: Fit model to data
  • predict: Prediction according to model

Initialization, Activations, Cost functions, regularization, optimization

  • Weights Initialization: With 4 types of criterias (zeros, xavier, common, he)
  • Activation Functions: sigmoid, tanh, ReLU
  • Cost Functions: Sum of Squared Error, Binary Cross-Entropy, Multi-Class Cross-Entropy
  • Regularization: L1, L2, ElasticNet for weights in cost function and in gradient updating
  • Optimization: Weights optimization with Gradient Descent (GD, SGD, Batch) with learning rate
  • Execution: Callback (metric threshold), History (Cost and metrics)
  • Hyperparameter Optimization: Random Grid Search with Memory

Complementary

  • Metrics: Accuracy, Confusion Matrix (Binary and Multiclass), Confusion Tensor (Multiclass OvR)
  • Visualizations: Cost evolution
  • Public Datasets: MNIST, Fashion MNIST
  • Special Datasets: OHLCV + Symbolic Features of Cryptocurrencies (ETH, BTC)

Important Links

Author/Principal Maintainer

Francisco Munnoz (IFFranciscoME) Is an associate professor of financial engineering and financial machine learning ITESO (Western Institute of Technology and Higher Education)

License

GNU General Public License v3.0

Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.

Contact: For more information in reggards of this repo, please contact [email protected]

You might also like...
Implementations of Machine Learning models, Regularizers, Optimizers and different Cost functions.

Linear Models Implementations of LinearRegression, LassoRegression and RidgeRegression with appropriate Regularizers and Optimizers. Linear Regression

Tangram makes it easy for programmers to train, deploy, and monitor machine learning models.
Tangram makes it easy for programmers to train, deploy, and monitor machine learning models.

Tangram Website | Discord Tangram makes it easy for programmers to train, deploy, and monitor machine learning models. Run tangram train to train a mo

SageMaker Python SDK is an open source library for training and deploying machine learning models on Amazon SageMaker.
SageMaker Python SDK is an open source library for training and deploying machine learning models on Amazon SageMaker.

SageMaker Python SDK SageMaker Python SDK is an open source library for training and deploying machine learning models on Amazon SageMaker. With the S

Model Validation Toolkit is a collection of tools to assist with validating machine learning models prior to deploying them to production and monitoring them after deployment to production.

Model Validation Toolkit is a collection of tools to assist with validating machine learning models prior to deploying them to production and monitoring them after deployment to production.

easyNeuron is a simple way to create powerful machine learning models, analyze  data and research cutting-edge AI.
easyNeuron is a simple way to create powerful machine learning models, analyze data and research cutting-edge AI.

easyNeuron is a simple way to create powerful machine learning models, analyze data and research cutting-edge AI.

A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.

Light Gradient Boosting Machine LightGBM is a gradient boosting framework that uses tree based learning algorithms. It is designed to be distributed a

Automated modeling and machine learning framework FEDOT
Automated modeling and machine learning framework FEDOT

This repository contains FEDOT - an open-source framework for automated modeling and machine learning (AutoML). It can build custom modeling pipelines for different real-world processes in an automated way using an evolutionary approach. FEDOT supports classification (binary and multiclass), regression, clustering, and time series prediction tasks.

machine learning model deployment project of Iris classification model in a minimal UI using flask web framework and deployed it in Azure cloud using Azure app service
machine learning model deployment project of Iris classification model in a minimal UI using flask web framework and deployed it in Azure cloud using Azure app service

This is a machine learning model deployment project of Iris classification model in a minimal UI using flask web framework and deployed it in Azure cloud using Azure app service. We initially made this project as a requirement for an internship at Indian Servers. We are now making it open to contribution.

QuickAI is a Python library that makes it extremely easy to experiment with state-of-the-art Machine Learning models.
QuickAI is a Python library that makes it extremely easy to experiment with state-of-the-art Machine Learning models.

QuickAI is a Python library that makes it extremely easy to experiment with state-of-the-art Machine Learning models.

Releases(v0.4-beta1.0)
  • v0.4-beta1.0(Apr 29, 2021)

    Metrics

    • Calculation of several metrics for classification sensitivity (TPR), specificity (TNR), accuracy (acc), likelihood ratio (positive), likelihood ratio (negative), confusion matrix (binary and multiclass) confusion tensor (binary for every class in multi-class)

    Sequential Class

    • Move the cost_f and cost_r parameters to be specified from the formation method, leave the class instantiation with just the model architecture

    • Move the init_weights method to be specified from the formation method

    Execution

    • Create formation method in the Sequential Class, with the following parameters init, cost, metrics, optimizer

    • Store selected metrics in Train and Validation History

    Visualizations

    • Select metrics for verbose output
    Source code(tar.gz)
    Source code(zip)
  • v0.3-beta1.0(Apr 27, 2021)

    Regularization:

    • On weights and biases, location: gradients

      • L1, L2 and ElasticNet
    • On weights and biases, location: cost function

      • L1, L2 and ElasticNet

    Numerical Stability:

    • in functions.py, in cost, added a 1e-25 value to A, to avoid a divide by zero and invalid multiply cases in computations of np.log(A)

    Data Handling:

    • train and validation cost

    Visualization:

    • print: verbose of cost evolution

    Documentation:

    • Improve README
    Source code(tar.gz)
    Source code(zip)
  • v0.2-beta1.0(Apr 27, 2021)

    Files:

    • complete data set: MNIST
    • complete data set: 'fashion-MNIST'

    Tests passed:

    • fashion MNIST
    • previous release tests

    Topology

    • single hidden layer (tested)
    • 1 - 2 hidden layers (tested)
    • different activation functions among hidden layer

    Activation functions:

    • For hidden -> Sigmoid, Tanh, ReLU (tested and not working)
    • For output -> Softmax

    Cost Functions:

    • 'binary-logloss' (Binary-class Cross-Entropy)
    • 'multi-logloss' (Multi-class Cross-Entropy)

    Metrics:

    • Confusion matrix (Multi-class)
    • Accuracy (Multi-class)
    Source code(tar.gz)
    Source code(zip)
  • v0.1-beta1.0(Apr 26, 2021)

    First release!

    Tests passed:

    • Random XOR data classification

    Sequential model:

    • hidden_l: Number of neurons per hidden layer (list of int, with a length of l_hidden)
    • hidden_a: Activation of hidden layers (list of str, with length l_hidden)
    • output_n: Number of neurons in the output layer (1)
    • output_a: Activation of output layer (str)

    Layer transformations:

    • linear

    Activation functions:

    • For hidden -> Sigmoid, Tanh
    • For output -> Sigmoid (Binary)

    Weights Initialization:

    • Xavier normal, Xavier uniform, common uniform, according to [1]

    Training Schemes:

    • Gradient Descent

    Cost Functions:

    • Sum of Squared Error (SSE) or Residual Sum of Squares (RSS)

    Metrics:

    • Accuracy (Binary)
    Source code(tar.gz)
    Source code(zip)
    LucidNet_v0.1-beta1.0.zip(111.97 MB)
Owner
lucidmode
A lucid framework for interpretable machine learning models
lucidmode
Home repository for the Regularized Greedy Forest (RGF) library. It includes original implementation from the paper and multithreaded one written in C++, along with various language-specific wrappers.

Regularized Greedy Forest Regularized Greedy Forest (RGF) is a tree ensemble machine learning method described in this paper. RGF can deliver better r

RGF-team 363 Dec 14, 2022
A concept I came up which ditches the idea of "layers" in a neural network.

Dynet A concept I came up which ditches the idea of "layers" in a neural network. Install Copy Dynet.py to your project. Run the example Install matpl

Anik Patel 4 Dec 05, 2021
Course files for "Ocean/Atmosphere Time Series Analysis"

time-series This package contains all necessary files for the course Ocean/Atmosphere Time Series Analysis, an introduction to data and time series an

Jonathan Lilly 107 Nov 29, 2022
K-means clustering is a method used for clustering analysis, especially in data mining and statistics.

K Means Algorithm What is K Means This algorithm is an iterative algorithm that partitions the dataset according to their features into K number of pr

1 Nov 01, 2021
UpliftML: A Python Package for Scalable Uplift Modeling

UpliftML is a Python package for scalable unconstrained and constrained uplift modeling from experimental data. To accommodate working with big data, the package uses PySpark and H2O models as base l

Booking.com 254 Dec 31, 2022
Contains an implementation (sklearn API) of the algorithm proposed in "GENDIS: GEnetic DIscovery of Shapelets" and code to reproduce all experiments.

GENDIS GENetic DIscovery of Shapelets In the time series classification domain, shapelets are small subseries that are discriminative for a certain cl

IDLab Services 90 Oct 28, 2022
ThunderGBM: Fast GBDTs and Random Forests on GPUs

Documentations | Installation | Parameters | Python (scikit-learn) interface What's new? ThunderGBM won 2019 Best Paper Award from IEEE Transactions o

Xtra Computing Group 648 Dec 16, 2022
Stats, linear algebra and einops for xarray

xarray-einstats Stats, linear algebra and einops for xarray ⚠️ Caution: This project is still in a very early development stage Installation To instal

ArviZ 30 Dec 28, 2022
InfiniteBoost: building infinite ensembles with gradient descent

InfiniteBoost Code for a paper InfiniteBoost: building infinite ensembles with gradient descent (arXiv:1706.01109). A. Rogozhnikov, T. Likhomanenko De

Alex Rogozhnikov 183 Jan 03, 2023
SIMD-accelerated bitwise hamming distance Python module for hexidecimal strings

hexhamming What does it do? This module performs a fast bitwise hamming distance of two hexadecimal strings. This looks like: DEADBEEF = 1101111010101

Michael Recachinas 12 Oct 14, 2022
ETNA is an easy-to-use time series forecasting framework.

ETNA is an easy-to-use time series forecasting framework. It includes built in toolkits for time series preprocessing, feature generation, a variety of predictive models with unified interface - from

Tinkoff.AI 674 Jan 07, 2023
Interactive Parallel Computing in Python

Interactive Parallel Computing with IPython ipyparallel is the new home of IPython.parallel. ipyparallel is a Python package and collection of CLI scr

IPython 2.3k Dec 30, 2022
Toolkit for building machine learning models that generalize to unseen domains and are robust to privacy and other attacks.

Toolkit for Building Robust ML models that generalize to unseen domains (RobustDG) Divyat Mahajan, Shruti Tople, Amit Sharma Privacy & Causal Learning

Microsoft 149 Jan 06, 2023
Reproducibility and Replicability of Web Measurement Studies

Reproducibility and Replicability of Web Measurement Studies This repository holds additional material to the paper "Reproducibility and Replicability

6 Dec 31, 2022
This project has Classification and Clustering done Via kNN and K-Means respectfully

This project has Classification and Clustering done Via kNN and K-Means respectfully. It later tests its efficiency via F1/accuracy/recall/precision for kNN and Davies-Bouldin Index for Clustering. T

Mohammad Ali Mustafa 0 Jan 20, 2022
Distributed Deep learning with Keras & Spark

Elephas: Distributed Deep Learning with Keras & Spark Elephas is an extension of Keras, which allows you to run distributed deep learning models at sc

Max Pumperla 1.6k Dec 29, 2022
cuML - RAPIDS Machine Learning Library

cuML - GPU Machine Learning Algorithms cuML is a suite of libraries that implement machine learning algorithms and mathematical primitives functions t

RAPIDS 3.1k Dec 28, 2022
Greykite: A flexible, intuitive and fast forecasting library

The Greykite library provides flexible, intuitive and fast forecasts through its flagship algorithm, Silverkite.

LinkedIn 1.7k Jan 04, 2023
Skoot is a lightweight python library of machine learning transformer classes that interact with scikit-learn and pandas.

Skoot is a lightweight python library of machine learning transformer classes that interact with scikit-learn and pandas. Its objective is to ex

Taylor G Smith 54 Aug 20, 2022
Time series changepoint detection

changepy Changepoint detection in time series in pure python Install pip install changepy Examples from changepy import pelt from cha

Rui Gil 92 Nov 08, 2022