Body Fat Prediction using Neural Networks


This project implements advanced neural network models for accurate prediction of body fat percentage using anthropometric measurements. Through comprehensive analysis and optimization, we've developed both full-feature and reduced-input models that achieve high accuracy while maintaining practical applicability.

Model Details

  • Developed by: ChanMeng666
  • Model type: Multi-layer perceptron (MLP) neural network
  • Language(s): Python
  • License: Apache-2.0
  • Finetuned from model: No - trained from scratch

Model Description

This modelcard aims to be a base template for body fat percentage estimation using anthropometric measurements. Two variants are provided:

Full Input Model

  • 14 input features
  • 20 neurons in hidden layer
  • Achieves R² = 0.9724, MSE = 1.9250
  • Optimal for maximum accuracy

Reduced Input Model

  • 9 input features
  • 5 neurons in hidden layer
  • Achieves R² = 0.9617, MSE = 2.6734
  • Optimized for efficiency

Both models use sigmoid activation for hidden layer and linear activation for output layer.

Uses

Direct Use

The models can be used directly for body fat percentage estimation from anthropometric measurements:

# Example usage
import tensorflow as keras

model = keras.models.load_model('best_full_model.keras')
predictions = model.predict(measurements)

Downstream Use

  • Integration into health and fitness applications
  • Clinical body composition assessment
  • Research studies on body composition
  • Personal health monitoring systems

Training Details

Training Data

  • Dataset contains anthropometric measurements including:
    • Body circumference measurements (neck, chest, abdomen, hip, thigh, knee, etc.)
    • Height and weight
    • Body density measurements
  • Data split: 60% training, 20% validation, 20% test

Training Procedure

  • Optimizer: Adam with learning rate 0.1
  • Loss function: Mean Squared Error
  • Batch size: 32
  • Early stopping with patience 100
  • Random seed: 123 for reproducibility

Evaluation

Testing Data, Factors & Metrics

  • Evaluated on 20% held-out test set
  • Metrics: R² score and Mean Squared Error (MSE)
  • Results validated across different body types and measurement ranges

Model Performance

Model Type R² (All) MSE (All) R² (Test) MSE (Test)
Full Input 0.9724 1.9250 0.9671 1.5301
Reduced Input 0.9617 2.6734 0.9394 2.8187

Bias, Risks, and Limitations

  • Models require accurate anthropometric measurements
  • Performance may vary across different demographic groups
  • Not intended to replace medical assessments
  • Results should be interpreted by qualified professionals
  • Model accuracy depends on measurement precision

Recommendations

Users (both direct and downstream) should:

  • Ensure accurate measurement techniques
  • Consider using the full input model when maximum accuracy is required
  • Use the reduced input model when efficiency is prioritized
  • Validate results against other assessment methods
  • Consider demographic and individual factors in interpretation

Technical Specifications

Model Architecture

  • Input layer: 14 features (full) or 9 features (reduced)
  • Hidden layer: 20 neurons (full) or 5 neurons (reduced) with sigmoid activation
  • Output layer: 1 neuron with linear activation

Hardware Used

  • Training compatible with standard CPU
  • GPU optional for faster training
  • Minimal memory requirements

Software Requirements

  • TensorFlow 2.0+
  • Python 3.7+
  • Keras 2.0+
  • NumPy
  • Pandas

Citation

If you use this model, please cite it as:

@software{ChanMeng666_2024_bodyfat_estimation_mlp,
  author = {ChanMeng666},
  title = {Body Fat Estimation using Neural Networks},
  year = {2024},
  publisher = {Hugging Face},
  url = {https://huggingface.co/ChanMeng666/bodyfat-estimation-mlp}
}
Downloads last month
18
Inference API
Unable to determine this model’s pipeline type. Check the docs .