A Machine Learning and Artificial Intelligence application package
Project description
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87fd148a6eb3e654078f885567bf2f0c038862d029404519bda2ea4726e9776c |
|
MD5 | bc19470fd8b53e27d98aa52b78c11204 |
|
BLAKE2b-256 | fe27980abbe432b66ba85117cdcbb92b816d751ca801d642acabe8a953e865f7 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2ae2bda755a1ab990edbf62f00ee5538aeeb66f7aa31be0f3ac5e087726699d |
|
MD5 | c62421a3eb2434262ee329a078a1c22d |
|
BLAKE2b-256 | 32ec3b7100829ce4b14afd8ae7696258651c7d788f07cfb79842f098c2c7c565 |