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