ChanMeng666's picture
Update README.md
69ae2b3 verified
---
license: apache-2.0
---
<div align="center">
<h1>Body Fat Prediction using Neural Networks</h1>
<img src="https://img.shields.io/badge/TensorFlow-2.0+-FF6F00?style=flat&logo=tensorflow&logoColor=white"/>
<img src="https://img.shields.io/badge/Python-3.7+-3776AB?style=flat&logo=python&logoColor=white"/>
<img src="https://img.shields.io/badge/Keras-2.0+-D00000?style=flat&logo=keras&logoColor=white"/>
<img src="https://img.shields.io/badge/Jupyter-Notebook-F37626?style=flat&logo=jupyter&logoColor=white"/>
<img src="https://img.shields.io/badge/License-Apache2.0-green?style=flat"/>
</div>
<br/>
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:
```python
# 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}
}
```