{"id":28281374,"url":"https://github.com/naso7y/twitter-sentiment-analysis","last_synced_at":"2025-07-29T15:09:27.983Z","repository":{"id":281090777,"uuid":"944148349","full_name":"NASO7Y/Twitter-Sentiment-Analysis","owner":"NASO7Y","description":"Classifies airline-related tweets as positive, negative, or neutral using machine learning and NLP. ","archived":false,"fork":false,"pushed_at":"2025-03-06T23:17:22.000Z","size":350,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T11:17:26.398Z","etag":null,"topics":["data-analysis","machine-learning","nlp","sentiment-analysis"],"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/NASO7Y.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}},"created_at":"2025-03-06T21:36:22.000Z","updated_at":"2025-03-14T01:58:42.000Z","dependencies_parsed_at":"2025-03-07T00:19:10.792Z","dependency_job_id":"d7617106-58f9-49a5-b9de-699de93b9017","html_url":"https://github.com/NASO7Y/Twitter-Sentiment-Analysis","commit_stats":null,"previous_names":["naso7y/twitter-sentiment-analysis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NASO7Y/Twitter-Sentiment-Analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASO7Y%2FTwitter-Sentiment-Analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASO7Y%2FTwitter-Sentiment-Analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASO7Y%2FTwitter-Sentiment-Analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASO7Y%2FTwitter-Sentiment-Analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NASO7Y","download_url":"https://codeload.github.com/NASO7Y/Twitter-Sentiment-Analysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASO7Y%2FTwitter-Sentiment-Analysis/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267705397,"owners_count":24130873,"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-07-29T02:00:12.549Z","response_time":2574,"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":["data-analysis","machine-learning","nlp","sentiment-analysis"],"created_at":"2025-05-21T11:17:04.888Z","updated_at":"2025-07-29T15:09:27.974Z","avatar_url":"https://github.com/NASO7Y.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twitter US Airline Sentiment Analysis\n\nThis project analyzes the sentiment of tweets about U.S. airlines using the [Twitter US Airline Sentiment dataset](https://www.kaggle.com/crowdflower/twitter-airline-sentiment) from Kaggle. The analysis covers data cleaning, exploratory data analysis, feature extraction, model training, and evaluation. \n\n## Table of Contents\n- [Overview](#overview)\n- [Data](#data)\n- [Methodology](#methodology)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Project Structure](#project-structure)\n- [References](#references)\n- [License](#license)\n\n## Overview\nThe goal of this project is to classify tweets into sentiment categories (positive, negative, and neutral) using machine learning , NLP. The workflow includes:\n- Data cleaning and preprocessing\n- Feature engineering (e.g., TF-IDF)\n- Model training with classifiers (e.g., Logistic Regression, Random Forest)\n- Evaluation of model performance using common metrics\n\n## Data\nThe dataset used is the \"Twitter US Airline Sentiment\" dataset available on Kaggle. It contains tweets, their sentiment labels, and additional metadata.  \n- **Download Link:** [Kaggle Dataset](https://www.kaggle.com/crowdflower/twitter-airline-sentiment)  \nFor more details on the dataset, refer to the Kaggle page.\n\n## Methodology\n- **Data Preprocessing:**  \n  Clean the text data by removing noise (punctuation, stop words, etc.) and normalize the tweets.\n- **Feature Engineering:**  \n  Transform text data into numerical features using techniques like TF-IDF.\n- **Modeling:**  \n  Train machine learning models (e.g., Logistic Regression, Random Forest) on the processed data.\n- **Evaluation:**  \n  Evaluate the models using accuracy, precision, recall, and F1-score.\n- **Visualization:**  \n  Use libraries like Matplotlib and Seaborn to visualize sentiment distributions and model performance.\n\n## Installation\n\n1. **Clone the Repository:**\n   ```bash\n   git clone https://github.com/Naso7y/twitter-sentiment-analysis.git\n   cd twitter-sentiment-analysis\n   ```\n\n2. **Set Up a Virtual Environment (Optional but Recommended):**\n   ```bash\n   python -m venv env\n   source env/bin/activate  # On Windows: env\\Scripts\\activate\n   ```\n\n3. **Install Dependencies:**\n   ```bash\n   pip install -r requirements.txt\n   ```\n   The `requirements.txt` includes essential libraries such as:\n   - [pandas](https://pandas.pydata.org/docs/)\n   - [scikit-learn](https://scikit-learn.org/stable/documentation.html)\n   - [spaCy](https://spacy.io/)\n   - [matplotlib](https://matplotlib.org/stable/contents.html)\n   - [seaborn](https://seaborn.pydata.org/)\n\n4. **Download the Dataset:**\n   Download the dataset from Kaggle and place the CSV file into the `data/` folder.\n\n5. **Download spaCy Model:**\n   ```bash\n   python -m spacy download en_core_web_sm\n   ```\n\n## Usage\n\n1. **Run the Analysis Notebook:**\n   Navigate to the `notebooks/` directory and open the Jupyter Notebook:\n   ```bash\n   jupyter notebook Twitter_Sentiment_Analysis.ipynb\n   ```\n2. **Follow the Notebook Steps:**\n   The notebook guides you through data preprocessing, model training, evaluation, and visualization.\n\n## Project Structure\n```\ntwitter-sentiment-analysis/\n├── Twitter_Sentiment_Analysis.ipynb   # Jupyter Notebook for analysis\n├── requirements.txt                         # List of required Python libraries\n└── README.md\n```\n\n## References\n- **Kaggle Dataset:** [Twitter US Airline Sentiment](https://www.kaggle.com/crowdflower/twitter-airline-sentiment)\n- **pandas Documentation:** [pandas](https://pandas.pydata.org/docs/)\n- **scikit-learn Documentation:** [scikit-learn](https://scikit-learn.org/stable/documentation.html)\n- **spaCy Documentation:** [spaCy](https://spacy.io/)\n- **Matplotlib Documentation:** [Matplotlib](https://matplotlib.org/stable/contents.html)\n\n\n## 🤝 Contributions\nI welcome all contributions! Feel free to fork the repository, submit issues, or create pull requests.\n\n## 📬 Contact\nFor any questions or feedback, feel free to reach out:\n\n- **GitHub:** [NASO7Y](https://github.com/NASO7Y)\n- **Email:** ahmed.noshy2004@gmail.com\n- **LinkedIn:** [Ahmed Noshy](https://www.linkedin.com/in/nos7y/)\n\n\n---\n⭐ If you find this project helpful, consider giving it a star is support😂🌹\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaso7y%2Ftwitter-sentiment-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaso7y%2Ftwitter-sentiment-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaso7y%2Ftwitter-sentiment-analysis/lists"}