{"id":30848319,"url":"https://github.com/ialwayslikedgrime/deep_learning_exam_implementation","last_synced_at":"2025-09-07T03:08:34.382Z","repository":{"id":312167807,"uuid":"1046583685","full_name":"ialwayslikedgrime/deep_learning_exam_implementation","owner":"ialwayslikedgrime","description":"Multi Input Multi Output model for sentiment analysis task on a Hotel Reviews Dataset","archived":false,"fork":false,"pushed_at":"2025-08-28T23:15:36.000Z","size":156,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-29T03:54:47.495Z","etag":null,"topics":["ai","deep-learning","deep-neural-networks","deeplearning","keras","long-short-term-memory","lstm","machine-learning","neural-networks","nlp","rnn","sentiment-analysis","sentiment-classification","sentiment-classifier","tensorflow","text-analysis","text-classification","text-processing"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ialwayslikedgrime.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-28T22:53:54.000Z","updated_at":"2025-08-28T23:15:39.000Z","dependencies_parsed_at":"2025-08-29T03:54:48.634Z","dependency_job_id":"18d273bf-48db-485c-bd61-d7406b9a2936","html_url":"https://github.com/ialwayslikedgrime/deep_learning_exam_implementation","commit_stats":null,"previous_names":["ialwayslikedgrime/deep_learning_exam_implementation"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ialwayslikedgrime/deep_learning_exam_implementation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ialwayslikedgrime%2Fdeep_learning_exam_implementation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ialwayslikedgrime%2Fdeep_learning_exam_implementation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ialwayslikedgrime%2Fdeep_learning_exam_implementation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ialwayslikedgrime%2Fdeep_learning_exam_implementation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ialwayslikedgrime","download_url":"https://codeload.github.com/ialwayslikedgrime/deep_learning_exam_implementation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ialwayslikedgrime%2Fdeep_learning_exam_implementation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273990213,"owners_count":25203293,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","deep-learning","deep-neural-networks","deeplearning","keras","long-short-term-memory","lstm","machine-learning","neural-networks","nlp","rnn","sentiment-analysis","sentiment-classification","sentiment-classifier","tensorflow","text-analysis","text-classification","text-processing"],"created_at":"2025-09-07T03:08:30.615Z","updated_at":"2025-09-07T03:08:34.372Z","avatar_url":"https://github.com/ialwayslikedgrime.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Python](https://img.shields.io/badge/Python-3.9%2B-blue?logo=python)\n![TensorFlow](https://img.shields.io/badge/TensorFlow-2.18-orange?logo=tensorflow)\n![Keras](https://img.shields.io/badge/Keras-API-red?logo=keras)\n![NumPy](https://img.shields.io/badge/NumPy-1.26-013243?logo=numpy)\n![Pandas](https://img.shields.io/badge/Pandas-2.0-150458?logo=pandas)\n![Scikit--learn](https://img.shields.io/badge/scikit--learn-1.5-F7931E?logo=scikit-learn)\n# Deep Learning Exam Implementation\n\nThis repository contains the implementation of my Deep Learning exam project for the course Machine Learning, Artificial Neural Networks and Deep Learning (Exam session: June 2025).\n\nI scored full marks on this exam.\n\n## Exam Context  \n\nThe exam problem was structured into **six open questions**, covering the entire deep learning pipeline:  \n\n1. **Model** — choice of the most appropriate architecture and rationale  \n2. **Input** — preprocessing strategy, input types, shapes, and value domains  \n3. **Output** — design of output layers and justification  \n4. **Loss** — choice of loss functions and label formatting  \n5. **Model Configuration** — layer composition, hyperparameters, and optimization strategy  \n6. **Evaluation** — assessing generalization on unseen data  \n\n\n**Format**:  \n- Students first answered these questions in writing, **without access to the dataset**.  \n- Afterwards, each student had to deliver a Colab notebook implementation that **faithfully adhered** to their written design choices, with no changes allowed.  \n\n\nThe original exam text is available at:\n[Exam text (PDF)](docs/exam_test.pdf)\n\n\n\n## My Solution  \n\n- **Model Architecture**  \n  Multi-input, multi-output neural network implemented with the **Keras Functional API**.  \n\n- **Inputs**  \n  - **Text reviews** → tokenized, padded sequences → Embedding + LSTM branch  \n  - **Categorical metadata** → seasons, reviewer continent, hotel popularity quartiles → Dense layers branch  \n\n- **Outputs**  \n  - **Binary classification** → Good vs. Bad review (sigmoid activation)  \n  - **Regression** → Review score (linear activation)  \n\n- **Loss Functions**  \n  - Binary cross-entropy (classification)  \n  - Mean Squared Error (regression)  \n  - Combined via weighted sum  \n\n- **Optimization**  \n  Adam optimizer with tuned hyperparameters: learning rate, dropout, batch size, LSTM units  \n\n- **Evaluation**  \n  - Baseline training  \n  - Random search for hyperparameter tuning  \n  - 5-fold cross-validation to assess generalization  \n\n\nThe original dataset (`input_data.pkl`) is no longer publicly available. (This is why there is not a requirements.txt anymore here)\n\ndone by me, ialwayslikedgrime alias grimey_s\n\nlet's connect on X ! https://x.com/grimey_s \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fialwayslikedgrime%2Fdeep_learning_exam_implementation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fialwayslikedgrime%2Fdeep_learning_exam_implementation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fialwayslikedgrime%2Fdeep_learning_exam_implementation/lists"}