Hello, this is machine learning part of Catloris application made by Capstone Team C242-PS149 ✨
- Introduction
- ML Team
- What We Do?
- What We Use?
- Repositories
- Image Classification Model
- Recommendation System
- Machine Learning Model
| Name | Bangkit ID | Contacts |
|---|---|---|
| Rizqi Hasanuddin | M479B4KY3948 | Github & Linkedin |
| Mohammad Iqbal Maulana | M562B4KY2570 | Github & Linkedin |
| Zalfa Nazhifah Huwaida | M006B4KX4602 | Github & Linkedin |
We are developing a food classification & recommendation model that suggests suitable food options to users.
| Packages |
|---|
| Tensorflow |
| Keras |
| Scikit-Learn |
| Pandas |
| Numpy |
| Matplotlib |
| Learning Paths | Link |
|---|---|
| Organization | Github |
| Machine Learning | Github |
| Machine Learning API | Github |
The model is designed for classifying food pictures into 15 categories to calculate their nutritional values. It uses a Sequential Model approach with TensorFlow and Keras API, leveraging MobileNetV2 for transfer learning.
-
Base Model: MobileNetV2
- Transfer learning with pre-trained weights from
ImageNet. - Fine-tuning enabled for some layers.
- The first 100 layers are frozen to preserve pre-trained features.
- Transfer learning with pre-trained weights from
-
Custom Layers
- Global Average Pooling: Extracts key features from the MobileNetV2 output.
- Flattening: Prepares the data for dense layers.
- Dense Layers with L2 Regularization:
- A 1024-unit dense layer with ReLU activation and a Dropout rate of 0.3.
- A 512-unit dense layer with ReLU activation and a Dropout rate of 0.3.
- Output Layer: A dense layer with softmax activation for classification into 15 categories.
- Optimizer: Adam
- Learning rate:
0.0001.
- Learning rate:
- Loss Function: Categorical Cross-Entropy.
- Evaluation Metric: Accuracy.
For the second model we use KNN for product based recommendation. The recommendation is based on the Body Mass Index, age, fat level.
