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 capabilityFully-refine the Pipeline class to be fully functionalExplore model explainability techniques (e.g., SHAP, LIME) to understand model behavior betterEmploy techniques for handling imbalanced datasets if applicableConsider model deployment strategies for real-world applicationsAdd a Setup.cfg fileAdd a Setup.py fileAdd 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|