The Anime Recommendation System helps users discover new anime based on preferences using content-based filtering. It provides personalized recommendations through a FastAPI-based web service, allowing users to request anime suggestions based on genres, ratings, and other criteria.
- Fetch anime recommendations via API.
- Uses content-based filtering for recommendations.
- FastAPI backend with interactive Swagger UI.
- Supports filtering by genres, ratings, and other factors.
- Processes anime datasets for meaningful insights.
Ensure you have installed:
- Python 3.8+
- FastAPI
- Uvicorn
- Pandas, Numpy, Scikit-learn
- Matplotlib, Seaborn, Plotly (for visualization)
- Jupyter Notebook (for experimentation)
- Clone the repository:
git clone https://github.com/your-repo/anime-recommendation-system.git cd anime-recommendation-system - Create a virtual environment:
python -m venv env source env/bin/activate # Windows: env\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Open Jupyter Notebook and run:
jupyter notebook
- Execute
anime_recommendation.ipynbto generate recommendations.
Start the FastAPI server:
uvicorn api:app --reloadAccess the interactive API documentation at:
http://127.0.0.1:8080/docs
GET http://127.0.0.1:8080/recommend/?anime_name=Hunter%20x%20Hunter&criterion=genres
The system works with datasets containing:
- Anime titles
- Genres
- User ratings
- Popularity scores
- Content-Based Filtering: Uses metadata like genres and descriptions to find similar anime.
- 500 Internal Server Error: Check
api.pyand dataset loading. - Connection Refused: Ensure Uvicorn is running on the correct port.
- Module Not Found: Verify dependencies and correct working directory.
- Integrate deep learning for better recommendations.
- Develop a web-based UI.
- Expand dataset sources for improved accuracy.
- Implement real-time updates based on user feedback.
- Use sentiment analysis from user reviews.
Feel free to fork the repository, make improvements, and submit a pull request.
MIT License. Free to use and modify.