--- license: apache-2.0 ---

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: ```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} } ```