Volakas marble data and MLP-RFF Python code

Published: 14 January 2026| Version 1 | DOI: 10.17632/9jv542fd34.1
Contributor:
Ioannis Kapageridis

Description

This repository contains the code, example data, and supporting materials used in the study “Anisotropic Marble Quality Estimation Using Orientation-Aware Neural Networks”. The purpose of the repository is to ensure full computational reproducibility of the modelling workflow and to provide a transparent reference implementation for orientation-aware machine-learning approaches applied to ornamental stone resource evaluation. The codebase implements a set of supervised neural-network models for estimating marble product proportions from drillhole and block-model data. Two principal modelling approaches are provided: (i) a baseline multilayer perceptron (MLP) using spatial coordinates only (X, Y, Z), and (ii) an orientation-aware MLP that additionally incorporates structural orientation information through azimuth and dip encodings, with optional Random Fourier Features (RFFs) to capture multi-scale spatial variability. All models predict compositional outputs (marble product proportions) that are constrained to be non-negative and to sum to unity, and are trained using Kullback–Leibler divergence as the primary loss function. The repository includes Python scripts for model training, prediction, uncertainty quantification via Monte Carlo Dropout, neural-network architecture search, and permutation feature importance (PFI) analysis. The architecture search explores combinations of network depth, width, dropout rate, L2 regularisation, and learning rate, and selects optimal configurations using a KL-aware validation criterion. The PFI implementation quantifies the contribution of grouped input features (spatial coordinates, orientation encodings, and RFF frequency bands) to predictive performance. Example input data are provided as comma-separated value (CSV) files. The samples.csv file represents drillhole composite samples and includes spatial coordinates, orientation measurements, and target marble product proportions. The blocks.csv file represents block-model locations used for prediction. All scripts are written in Python (tested with Python 3.11) and rely on widely used scientific and machine-learning libraries, including TensorFlow/Keras, NumPy, Pandas, and scikit-learn. Fixed random seeds, saved feature scalers, and metadata files are used to promote reproducibility. The repository is intended to support reproducibility of the published results and methodological reuse in mineral-resource and geoscience applications. It is provided for research and educational purposes and is not intended as a production-ready system without further validation.

Files

Steps to reproduce

The data included in the samples.csv file are 6m composite values of original drillhole 1m interval characterisation from the Volakas deposit in NE Greece.

Institutions

  • University of Western Macedonia

Categories

Neural Network Application, Fourier Transform, Anisotropy, Geostatistics, Mineral Resource, Mineral Deposit, Quarrying, Permutation Test, Neural Network

Licence