Skip to main content

A Machine Learning and Artificial Intelligence application package

Project description

example workflow example workflow example_workflow example workflow

Python Keras scikit-learn

HEIMDALL v0.3 - Updated 17/04/24

High-Resolution [----] Identification and [----] Discriminator [----]

1. ML_meta Class:

Purpose: Acts as a coordinator, managing the application of various machine learning algorithms. Key Methods: apply_all_models(flag=True): Applies multiple ML models and compares their scores. apply_neural_net(): Applies a feedforward neural network (FFNN). apply_single_model(cm=False, save_model=False, save_model_name=False): Applies a specified model, with options for confusion matrix plotting and model saving. split_data(encode_categorical=True, y='target'): Splits data into features (X) and target (y), with optional encoding of categorical features. call_ML(): Instantiates the ML class to access model implementation details.

2. ML Class:

Houses the implementation of various machine learning algorithms, including:

  • Support Vector Machine (SVM)
  • Naive Bayes (NB)
  • Decision Tree (DT)
  • Random Forest (RF)
  • k-Nearest-Neighbour (kNN)
  • Logistic Regression (LR)
  • Multi-Layered Perceptron (MLP)
  • Ensemble Classifier (EC)
  • Gradient Boosted Classifier (GBC)
  • Ada Boosted Classifier (ABC)

PLANNED: MultiLayeredPerceptron (MLP) bug fixes

3. FFNN Class:

Implements a feedforward neural network.

4. BasePredictor Class:

Provides a base class for prediction-related functionality.

5. CNN Class:

Implements a convoluted neural network architecture.

6. YOLOv8 Object identifier

Provides the functionality for a user-trained YOLO identifier to predict on either pre-recorded or live video stream

7. Pipeline Class:

Reads in YAML configuration file to streamline the implementation and usage of the package


Usage

Use case 1: Applying Multiple Models and Comparing Performance:

import ML_meta

model_coordinator = ML_meta.ML_meta() # Instantiate the coordinator model_coordinator.apply_all_models(flag=True) # Apply all models and generate a report

Use case 2: Applying a Specific Model with Confusion Matrix and Model Saving:

model_coordinator.apply_single_model("RF", cm=True, save_model=True, save_model_name="best_rf.pkl")

Use case 3: Applying a Feedforward Neural Network:

model_coordinator.apply_neural_net()

Use case 4: Customising Model Application:

Split data with custom settings X_train, X_test, y_train, y_test = model_coordinator.split_data(encode_categorical=False, y="my_target")

Access specific models and control parameters ml_instance = model_coordinator.call_ML() ml_instance.apply_decision_tree(X_train, X_test, y_train, y_test, max_depth=5)

The ML_meta class serves as the primary entry point for users. Methods like apply_all_models, apply_single_model, and apply_neural_net provide streamlined model application. Access to individual models and their parameters is available through call_ML. Customise data splitting and encoding using split_data.


TO-DO

  • Refine YAML input capability
  • Fully-refine the Pipeline class to be fully functional
  • Explore model explainability techniques (e.g., SHAP, LIME) to understand model behavior better
  • Employ techniques for handling imbalanced datasets if applicable
  • Consider model deployment strategies for real-world applications
  • Add a Setup.cfg file
  • Add a Setup.py file
  • Add UnitTests for the package

Copyright © 2024 . All rights reserved.

Project details


Release history Release notifications | RSS feed

This version

0.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

heimdallx-0.3.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

heimdallx-0.3-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file heimdallx-0.3.tar.gz.

File metadata

  • Download URL: heimdallx-0.3.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.5

File hashes

Hashes for heimdallx-0.3.tar.gz
Algorithm Hash digest
SHA256 87fd148a6eb3e654078f885567bf2f0c038862d029404519bda2ea4726e9776c
MD5 bc19470fd8b53e27d98aa52b78c11204
BLAKE2b-256 fe27980abbe432b66ba85117cdcbb92b816d751ca801d642acabe8a953e865f7

See more details on using hashes here.

File details

Details for the file heimdallx-0.3-py3-none-any.whl.

File metadata

  • Download URL: heimdallx-0.3-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.5

File hashes

Hashes for heimdallx-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c2ae2bda755a1ab990edbf62f00ee5538aeeb66f7aa31be0f3ac5e087726699d
MD5 c62421a3eb2434262ee329a078a1c22d
BLAKE2b-256 32ec3b7100829ce4b14afd8ae7696258651c7d788f07cfb79842f098c2c7c565

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page