Dare-Share-Care / DataScienceExam

Comprehensive movie data analysis using sentiment analysis, earnings prediction, and a robust movie recommender. Utilizes advanced NLP and machine learning techniques.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Client/Server with FastAPI and React

Movie Exam Project in Data Science Class

Problem Definition Page


Setup

๐Ÿ› ๏ธ Prerequisites

Ensure the following tools are installed on your system:

  • Anaconda or Miniconda: Used for managing environments and dependencies.
  • npm: Needed for client-side dependency management.

Environment and Dependency Setup

๐Ÿ–ฅ๏ธ Windows and anaconda:

Use the following commands in your terminal:

conda create -n datascience_movie_exam python=3.10.11 -y
conda activate datascience_movie_exam
pip install -r requirements.txt

๐ŸŽ Mac with M1-Chipset using miniconda:

Use the following commands in your terminal:

conda create -n datascience_movie_exam python=3.10.11 -y
conda activate datascience_movie_exam
pip install -r requirementsmac.txt

๐Ÿ“ Note: After setting up the environment and installing the dependencies, run the following Python script to download the Google Sentence Encoder. Make sure you're at the root of the project in your terminal:

python .\download_Google_Sentence_Encoder.py

Usage

๐Ÿ““ Notebooks:

Follow these steps:

  1. Navigate to the notebooks folder.
  2. Run the following notebooks to save the models to the correct folder (these are ignored on git). This step is required to run the server.
    • Movie Earnings Classifier.ipynb
    • Naive_bayes_sentiment_analysis.ipynb

๐Ÿ–ฅ๏ธ Server:

Follow these steps:

  1. Navigate to /server.
  2. Run the server using: uvicorn main:app --reload
  3. Access the server at: http://127.0.0.1:8000
  4. Access Swagger API Documentation at: http://127.0.0.1:8000/docs

๐Ÿ–ฑ๏ธ Client:

Follow these steps:

  1. Navigate to /client.
  2. Install dependencies using: npm install
  3. Run the client using: npm start

About

Comprehensive movie data analysis using sentiment analysis, earnings prediction, and a robust movie recommender. Utilizes advanced NLP and machine learning techniques.


Languages

Language:Jupyter Notebook 99.5%Language:JavaScript 0.2%Language:Python 0.2%Language:HTML 0.0%Language:SCSS 0.0%