-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the GPhub-kit wiki!
GPhub-kit is a Python toolkit for benchmarking and evaluating Gaussian Process (GP) regression libraries across multiple programming languages.
Core benchmarking functionality, including predefined problems and custom benchmark creation.
-
Data Preprocessing: Automatic scaling and standardization using
scikit-learn -
Standard Benchmarks: BM01-BM07 covering various dimensionalities and complexities
-
Composite Benchmark: Multi-dimensional benchmark with configurable parameters (2-64D, 100-3000 training samples)
-
Custom Benchmarks: Create benchmarks from user-provided datasets
Tools for loading, generating, and splitting datasets.
-
Dataset Loading: Load training/test splits from CSV files with automatic validation using
Polars -
Dataset Splitting: Split existing datasets using
scikit-learnwith automatic dimensionality handling -
Synthetic Generation: Create datasets by sampling mathematical functions with uniform/LHS methods using
pyDOE
Comprehensive metrics computation.
-
Regression Metrics: MAE, RMSE, MSE, MedAE, R² coefficient computed with
scikit-learn -
Probabilistic Metrics: NLPD (Negative Log Predictive Density), MSLL (Mean Standardized Log Loss)
-
Performance Profiling: Training/prediction time and memory usage tracking
-
Rich Console Output: Formatted tables with
Richconsole and colorized metrics display
Multi-language benchmark execution engine.
-
Python Executor: Dynamic loading with
PythonGPLibraryabstract base class for standardized interfaces -
R Executor:
rpy2-based execution -
Julia Executor:
juliacallintegration for runningJuliaGP implementations -
MATLAB Executor:
MATLAB Engine APIfor executing MATLAB GP toolboxes
Results visualization with LaTeX integration for mathematical notation.
-
Cross-Validation Plots: Dual-panel actual vs predicted with residual analysis and density comparisons
-
Prediction Visualization: Automatic 1D/2D/3D plotting with uncertainty bands, contour, and surface plots
-
Radar Charts: Multi-metric comparative analysis with normalized metrics and transparency
Essential utilities providing multi-language template generation.
-
Template System: Multi-language code templates for
Python,R,Julia, andMATLAB