Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pickle | |
| import numpy as np | |
| st.set_page_config( | |
| page_title="Kitap Öneri Sistemi", | |
| page_icon="📚" | |
| ) | |
| st.title("📚 Kitap Öneri Sistemi") | |
| st.write( | |
| "Bu uygulama, kullanıcı puanlarına göre seçilen kitaba benzer kitaplar önerir." | |
| ) | |
| def load_files(): | |
| pivot_table = pickle.load(open("src/pivot_table.pkl", "rb")) | |
| similarity_scores = pickle.load(open("src/similarity_scores.pkl", "rb")) | |
| return pivot_table, similarity_scores | |
| pivot_table, similarity_scores = load_files() | |
| book_list = list(pivot_table.index) | |
| selected_book = st.selectbox( | |
| "Bir kitap seçin:", | |
| book_list | |
| ) | |
| def recommend_book(book_name): | |
| if book_name not in pivot_table.index: | |
| return [] | |
| book_index = np.where(pivot_table.index == book_name)[0][0] | |
| similar_books = sorted( | |
| list(enumerate(similarity_scores[book_index])), | |
| reverse=True, | |
| key=lambda x: x[1] | |
| )[1:6] | |
| recommendations = [] | |
| for book in similar_books: | |
| recommendations.append(pivot_table.index[book[0]]) | |
| return recommendations | |
| if st.button("Öneri Getir"): | |
| recommendations = recommend_book(selected_book) | |
| st.subheader("Önerilen Kitaplar") | |
| for i, book in enumerate(recommendations, start=1): | |
| st.write(f"{i}. {book}") |