{"id":28997883,"url":"https://github.com/dearabhin/girlfriend-predictor","last_synced_at":"2025-10-06T13:40:48.344Z","repository":{"id":301076883,"uuid":"1008073095","full_name":"dearabhin/girlfriend-predictor","owner":"dearabhin","description":"Using machine learning to solve the ultimate college classification problem. A fun project applying Python and Logistic Regression to predict relationship outcomes based on a (hilariously) synthetic dataset. 📊❤️","archived":false,"fork":false,"pushed_at":"2025-06-25T03:22:28.000Z","size":448,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-25T03:33:12.823Z","etag":null,"topics":["classification","data-science","fun-project","google-colab","jyputer-notebook","jypyternotebook","logistic-regression","machine-learning","pandas","python","scikit-learn"],"latest_commit_sha":null,"homepage":"https://colab.research.google.com/drive/1HCgPxf3gdnqQyZgHvqao9dZHn53QUv7D?usp=sharing","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/dearabhin.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-06-25T01:44:32.000Z","updated_at":"2025-06-25T03:22:30.000Z","dependencies_parsed_at":"2025-06-25T03:33:26.082Z","dependency_job_id":null,"html_url":"https://github.com/dearabhin/girlfriend-predictor","commit_stats":null,"previous_names":["dearabhin/girlfriend-predictor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dearabhin/girlfriend-predictor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dearabhin%2Fgirlfriend-predictor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dearabhin%2Fgirlfriend-predictor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dearabhin%2Fgirlfriend-predictor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dearabhin%2Fgirlfriend-predictor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dearabhin","download_url":"https://codeload.github.com/dearabhin/girlfriend-predictor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dearabhin%2Fgirlfriend-predictor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621847,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":["classification","data-science","fun-project","google-colab","jyputer-notebook","jypyternotebook","logistic-regression","machine-learning","pandas","python","scikit-learn"],"created_at":"2025-06-25T07:00:27.639Z","updated_at":"2025-10-06T13:40:48.339Z","avatar_url":"https://github.com/dearabhin.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Girlfriend Predictor V3: An Advanced Machine Learning Project\n\n*An engineering student's fun take on solving life's most pressing classification problem, now updated with advanced social, academic, and environmental features for a more realistic model.*\n\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1HCgPxf3gdnqQyZgHvqao9dZHn53QUv7D?usp=sharing)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"summary.png\" alt=\"Girlfriend Predictor\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n---\n\n## 🧐 Overview\n\nAs a B.Tech student at Model Engineering College, I decided to apply machine learning to a critical classification problem: **Will I get a girlfriend in college?**\n\nThis is **Version 3** of the project, which moves beyond simple metrics to include a more nuanced and holistic set of features. It now considers academic performance, collaborative spirit, direct communication efforts, and even environmental factors like the \"local competition.\" The result is a more robust and insightful model that better reflects the complexities of real-life social dynamics, all while serving as a practical application of data science principles.\n\n## ✨ Advanced Features (V3)\n\nThe V3 model is trained on a richer, more sophisticated synthetic dataset. The features are designed to be more realistic and quantifiable aspects of a student's life.\n\n#### Personal \u0026 Habitual Features\n* `personal_grooming_score`: (Scale 1-10) An upgrade from the original `uniform_wrinkle_score`. A higher score indicates better personal presentation and outlook.\n* `communication_skill_score`: (Scale 1-10) A self-assessed score for soft skills, directly modeling the importance of effective communication.\n* `avg_dm_conversations_per_week`: (Number) Quantifies direct digital communication efforts across platforms like Instagram and WhatsApp.\n* `crush_eye_contact_count`: (Number) The classic, powerful, but often sparse feature indicating mutual interest.\n\n#### Academic \u0026 Technical Features\n* `semester_cgpa`: (Number) Your current SGPA/CGPA, serving as a direct measure of academic performance.\n* `hackathon_participation_count`: (Number) An upgrade from \"wins\" to \"participation,\" this shows initiative and passion for technology.\n* `other_competition_wins`: (Number) Captures success in other competitive events like coding contests, paper presentations, etc.\n* `provides_academic_help`: (Binary: 1=Yes, 0=No) A measure of collaborative spirit—do you help others with assignments, doubts, or projects?\n\n#### Social \u0026 Environmental Features\n* `events_attended`: (Number) The number of workshops, tech fests, and cultural events you show up to.\n* `dept_similarity_index`: (Binary: 1=Yes, 0=No) A simple flag to check if you're in the same department.\n* `friend_zone_flag`: (Binary: 1=Yes, 0=No) The classic categorical label with a heavy negative penalty in the model.\n* `local_competition_score`: (Scale 1-10) An environmental factor measuring how many \"competitors\" are also vying for the same person's attention.\n* **`target_is_single`**: (Binary: 1=Yes, 0=No) The **game-changer**. This feature introduces a hard, real-world constraint. If the target person is not single, the model learns that a successful outcome is nearly impossible.\n\n## 🔬 Methodology \u0026 Concepts\n\nThis project follows a standard machine learning pipeline.\n\n#### 1. Logistic Regression\nThis project uses **Logistic Regression**, a fundamental algorithm for binary classification. It's used to predict a probability (a value between 0 and 1) for a given class, making it perfect for \"Yes/No\" questions like ours.\n\n#### 2. Feature Scaling (`StandardScaler`)\nWith many new features on different scales (e.g., `CGPA` from 0-10 vs `events_attended`), scaling is crucial. **Standard Scaling** transforms the data to have a mean of 0 and a standard deviation of 1, ensuring all features contribute fairly to the model's predictions.\n\n#### 3. Model Evaluation\nWe assess the model's performance using standard metrics:\n* **Accuracy**: The percentage of correct predictions.\n* **Classification Report**: Shows Precision, Recall, and F1-Score.\n* **Confusion Matrix**: Visualizes the model's correct and incorrect predictions (True Positives, False Negatives, etc.).\n\n## 🚀 How to Run\n\n1.  **Clone the repository:**\n    ```bash\n    git clone https://github.com/dearabhin/girlfriend-predictor.git\n    cd girlfriend-predictor\n    ```\n2.  **Set up a virtual environment and install dependencies:**\n    ```bash\n    pip install -r requirements.txt\n    ```\n3.  **Run the script or notebook:**\n    * Open and run the `girlfriend_predictor.ipynb` in Google Colab or Jupyter.\n    * Alternatively, run the Python script from your terminal: `python girlfriend_predictor.py`\n\n## 🤖 The V3 Simulator\nIn the code, you can find the `your_current_stats_v3` dictionary. Change the values to reflect your own situation and see what the advanced model predicts for you! Experiment with changing `target_is_single` from 1 to 0 to see its powerful effect.\n\n```python\n# --- YOUR TURN: Fill in your stats for the V3 model! ---\nyour_current_stats_v3 = {\n    'events_attended': 15,\n    'semester_cgpa': 9.1,\n    'provides_academic_help': 1,\n    'target_is_single': 1,  # Try changing this to 0!\n    'local_competition_score': 6,\n    # ... and all the other new features\n}","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdearabhin%2Fgirlfriend-predictor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdearabhin%2Fgirlfriend-predictor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdearabhin%2Fgirlfriend-predictor/lists"}