A newer version of the Gradio SDK is available:
6.0.1
title: Book Recommendation Predictor
emoji: π
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 4.44.0
app_file: app.py
pinned: false
license: mit
π Book Recommendation Predictor
Overview
An interactive machine learning application that predicts whether a book should be recommended to everyone based on its characteristics and reading experience. Built with AutoGluon's Gradient-Boosted Decision Tree (LightGBM) and deployed using Gradio.
Model Details
- Model Type: Gradient-Boosted Decision Tree (LightGBM)
- Framework: AutoGluon-Tabular
- Developer: Zachary Zdobinski
- Source Model: zacCMU/2024-24679-tabular-autolguon-predictor
- Task: Binary Classification
- Performance: 55% Accuracy on test set
Features
Input Variables
- Fiction or Non-Fiction: Genre classification of the book
- Number of Pages: Total page count (1-2000 pages)
- Book Thickness: Physical thickness in inches (0.1-5.0 inches)
- Reading Status: Whether the book was Read, Unfinished, or Unread
Output
- Binary prediction: "Recommended to Everyone" vs "Not Recommended to Everyone"
- Confidence scores for both classes
- Visual probability distribution
How to Use
Interactive Interface
- Select Book Genre: Choose between Fiction or Non-Fiction
- Set Book Length: Adjust the page count slider
- Specify Thickness: Set the physical thickness or auto-calculate from pages
- Choose Reading Status: Select whether you've read, not finished, or haven't read the book
- Make Prediction: Click the prediction button to see results
Example Inputs
The application includes 6 pre-configured examples demonstrating various book types:
- Popular fiction (completed)
- Long non-fiction (unfinished)
- Short books vs. long books
- Different reading completion statuses
Technical Implementation
Architecture
- Frontend: Gradio interface with interactive widgets
- Backend: AutoGluon TabularPredictor
- Deployment: Hugging Face Spaces
- Model Format: Compressed AutoGluon predictor directory
Dependencies
- autogluon.tabular
- gradio
- huggingface_hub
- pandas
Model Performance & Limitations
Strengths
- Fast inference time
- Simple, interpretable features
- Handles both fiction and non-fiction genres
- Considers reading completion as a quality signal
Limitations
- Limited Feature Scope: Only uses 4 features; doesn't consider author, writing style, or publication date
- Cold Start Problem: May perform poorly for users with minimal reading history
- Genre Coverage: Performance may vary for niche or underrepresented genres
- Moderate Accuracy: 55% accuracy indicates room for improvement
Dataset Information
The model was trained on a private dataset containing:
- User reading history
- Book metadata (genre, length)
- Binary recommendation labels
Use Cases
- Personal Reading Lists: Help readers identify broadly appealing books
- Library Recommendations: Assist librarians in selecting popular titles
- Book Club Selection: Find books likely to appeal to diverse groups
- Publishing Insights: Understand characteristics of universally appealing books
Ethical Considerations
- Recommendations may reflect biases present in the training data
- The model should not be the sole factor in book selection decisions
- Consider diverse perspectives beyond algorithmic recommendations
Future Improvements
- Incorporate additional features (author, publication year, user ratings)
- Improve model accuracy through ensemble methods
- Add multi-class recommendations for different audience segments
- Include content-based features from book descriptions
Citation
If you use this model or interface, please cite: @misc{book_recommendation_2025, author = {Zachary Zdobinski}, title = {Book Recommendation Predictor}, year = {2025}, publisher = {Hugging Face}, url = {https://huggingface.co/zacCMU/2024-24679-tabular-autolguon-predictor} }
Contact & Support
Created for CMU 24-679 Course Assignment For questions or issues, please open an issue in the repository.
Last Updated: September 2025