A recommendation system fusing book tags, content and ratings — with data analysis, experiments and explainability.
book is a multi-source book recommendation system — it fuses book tags, content and rating data for recommendation, with data preprocessing, analysis, experiments and explainability modules.
Note
中文项目:基于多源信息融合的书籍推荐系统。
git clone https://github.com/Windyhhh/book.git
cd book
# install dependencies
python install_dependencies.py
# run the recommendation demo
python demo_recommendation_system.py
# run the full experiment
python main_experiment.py- Multi-source fusion — tags, content, ratings.
- Recommendation demo —
demo_recommendation_system.py. - Explainability —
explainability.pyfor interpretable recommendations. - Evaluation —
evaluation.pyfor accuracy.
book/
├── demo_recommendation_system.py
├── main_experiment.py
├── data_analysis.py / data_preprocessing.py
├── evaluation.py / explainability.py
├── install_dependencies.py
└── books.csv / book_tags.csv
项目采用模块化设计,核心目录包括:基于多源信息融合的书籍推荐系统研究。
- DataAnalyzer
- DataPreprocessor
- SimpleBookRecommendationSystem
load_data,basic_statistics,data_quality_analysis,visualize_data_distribution,clean_books_data,process_tags_data,create_book_tag_matrix,create_content_features,create_user_item_matrix,prepare_content_features
核心框架/库:NumPy, matplotlib, pandas, scikit-learn, seaborn
主要 import:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.preprocessing import StandardScaler, LabelEncoder
from sklearn.feature_extraction.text import TfidfVectorizer
import warnings
import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler, LabelEncoder- 以
DataAnalyzer为核心类,封装主要业务逻辑 - 通过
load_data等函数实现核心流程编排 - 基于 NumPy, matplotlib, pandas 构建,技术栈成熟稳定
- 代码结构清晰,模块间低耦合,便于扩展和维护
MIT — free to use, modify and distribute.