/Twitter-Sentiment-Analysis

This project implements a machine learning model for sentiment analysis on Twitter data. It uses NLTK and Python to preprocess, extract features, and classify tweets as positive, negative, or neutral. The analysis visualizes word frequencies and sentiment distributions to understand public opinion on topics.

Primary LanguageJupyter Notebook

Twitter-Sentiment-Analysis

This project implements a machine learning model for sentiment analysis on Twitter data. It uses NLTK and Python to preprocess, extract features, and classify tweets as positive, negative, or neutral. The analysis visualizes word frequencies and sentiment distributions to understand public opinion on topics.

Libraries used

  • Python: For scripting and data manipulation.
  • Pandas: For data processing and CSV file operations.
  • NLTK: Used for natural language processing including stopwords management and feature extraction.
  • Scikit-Learn: For creating training and testing splits and building the Naive Bayes classifier.
  • Matplotlib and Seaborn: For data visualization, including bar plots and heatmaps.
  • WordCloud: To generate visual representations of word frequency.

Key Features:

  • Data Preprocessing: Cleansing tweets by removing URLs, mentions, hashtags, and stopwords.
  • Sentiment Analysis Model: Utilizing Naive Bayes for sentiment classification.
  • Visualization: Generating word clouds, confusion matrices, and frequency bar plots to illustrate the results.
  • Performance Metrics: Evaluating the model with precision, recall, and F1-scores to understand its efficacy in real-world scenarios.