Skip to content

In this project, I explore the process of building and fine-tuning a recommender system using the Surprise library in Python.

Notifications You must be signed in to change notification settings

MarcLinderGit/book_recommender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Book Recommender

In this project, I explore the process of building and fine-tuning a recommender system using the Surprise library in Python. My dataset consists of Goodreads book ratings, and my goal is to create a collaborative filtering-based recommender system that can predict user ratings for books. I will follow these key steps:

  1. Data Loading and Exploration: I begin by loading the dataset and conducting some initial data exploration. This step helps me understand the structure of the data, its size, and the distribution of ratings.

  2. Data Preprocessing: I identify and handle any data issues, such as zero ratings, which are outside the expected rating range.

  3. Data Preparation for Surprise: I prepare the data to be used with the Surprise library by creating a reader object and a Surprise dataset.

  4. Building the Recommender System: I use the K-nearest neighbors (KNN) collaborative filtering algorithm (KNNBasic) from the Surprise library to build my recommender system.

  5. Model Evaluation: I evaluate the performance of my recommender system using root-mean-square error (RMSE) as the evaluation metric.

  6. Hyperparameter Tuning: I perform hyperparameter tuning using grid search to find the best hyperparameters for my model. This step allows me to further improve the model's performance.

  7. Refitting the Model: After finding the best hyperparameters, I refit the KNNBasic model with these optimal settings.

  8. Making Predictions: I make predictions using the refitted model to estimate how a user would rate a particular book.

Through these steps, I aim to build an accurate and efficient recommender system that can provide meaningful book recommendations to users based on their past ratings and preferences. Additionally, I demonstrate the impact of hyperparameter tuning on the model's performance, showcasing the importance of fine-tuning in building effective recommendation systems.

About

In this project, I explore the process of building and fine-tuning a recommender system using the Surprise library in Python.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published