--- 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](https://huggingface.co/zacCMU/2024-24679-tabular-autolguon-predictor) - **Task**: Binary Classification - **Performance**: 55% Accuracy on test set ## Features ### Input Variables 1. **Fiction or Non-Fiction**: Genre classification of the book 2. **Number of Pages**: Total page count (1-2000 pages) 3. **Book Thickness**: Physical thickness in inches (0.1-5.0 inches) 4. **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 1. **Select Book Genre**: Choose between Fiction or Non-Fiction 2. **Set Book Length**: Adjust the page count slider 3. **Specify Thickness**: Set the physical thickness or auto-calculate from pages 4. **Choose Reading Status**: Select whether you've read, not finished, or haven't read the book 5. **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*