Основная идея
Основная идея использования набора данных Goodreads состоит в том, чтобы получить четкое представление о взаимосвязях между множеством атрибутов, которые может иметь книга, такими как совокупный рейтинг каждой книги, тенденции авторов на протяжении многих лет и книги на многих языках. Имея более ста тысяч оценок, есть книги, которые становятся популярными с каждым днем.
Мы всегда считали, что книги волшебных персонажей, кажется, содержат, и с этим блокнотом мы отправляемся в путешествие, чтобы увидеть, какие книги действительно побуждают людей читать в эпоху современных интеллектуальных устройств.
С таким огромным, подавляющим числом факторов мы рассмотрим такие демографические данные, как можно ли рекомендовать книги на основе оценок? Это фактор, который может сработать.
Работа с набором данных
Итак, начнем путешествие, похоже, Дж.К. Роулинг, преимущественно во главе этого фрейма данных. Тем не менее, поскольку мы все узнали и полюбили ее, Мэри тоже здесь. Давайте исправим это, просто для краткости со всеми многочисленными списками, которые обязательно есть в ее книгах.
Столбцы Описание:
- bookID Содержит уникальный идентификатор для каждой книги / серии.
- title содержит названия книг.
- авторы содержит автора конкретной книги.
- average_rating - средний рейтинг книг, установленный пользователями.
- ISBN Номер ISBN (10), сообщает информацию о книге - например, издание и издатель.
- ISBN 13. Новый формат ISBN, введенный в 2007 году. 13 цифр.
- language_code указывает язык для книг.
- Num_pages Содержит количество страниц книги.
- Ratings_count Содержит количество оценок, присвоенных книге.
- text_reviews_count - количество отзывов, оставленных пользователями.
Пояснительный анализ данных
Какие книги в списке встречаются чаще всего?
Мы видим, что Сто лет одиночества и Список Салема имеют наибольшее количество совпадений с одним и тем же именем в данных.
Эти книги появлялись в этой базе данных снова и снова, с различными изданиями. Из списка мы видим, что большинство книг из данной таблицы - это либо старые устойчивые классики, либо книги, которые обычно приписываются школам. Похоже, что некоторые книги хорошо стареют, а они просто выдержали течение времени.
Как распределяются книги на всех языках?
Из приведенного графика мы можем сделать вывод, что в приведенных данных большинство книг написаны на английском языке, а некоторые из них далее подразделяются на English-US, English-UK и English-CA.
Какие книги входят в десятку самых популярных книг?
Мы видим, что большинство рейтингов обычно имеют первые книги серии, то есть Гарри Поттер и Волшебный камень, Сумерки №1, Хоббит , Ангелы и демоны №1.
Первая книга Гарри Поттера доминирует в этом разделе, имея более 5000000 оценок. Фактически, за исключением нескольких, таких как «Над пропастью во ржи» и «Скотный двор», все книги кажутся из серии книг, что заставляет нас задуматься о том, что как только люди начинают, большинство из них, кажется, погружаются в понятие его завершения.
Тем не менее, когда мы смотрим на первую и пятую книги Гарри Поттера, мы также можем заметить, что существует смехотворно огромный разрыв в количестве читателей / оценок для книг, что означает, что были люди, которые не выбрали следующую. книга из серии и / или нашли только первую книгу, которая до такой степени тронула их сердца, чтобы отказаться от голосования.
Какие авторы написали больше всего книг?
Из имен в списке мы снова можем сделать вывод, что большинство авторов либо писали на протяжении десятилетий, время от времени сбивая множество книг, либо являются авторами, которых считают «классиками» в нашей истории.
Кажется, свою роль в этом играет ажиотаж.
Получение общей производительности для автора
Какое распределение рейтингов для книг?
Мы можем сделать вывод, что:
- Большинство рейтингов находятся примерно в районе 3,7–4,3.
- Книги с оценкой около 5 крайне редки.
Удивительно, но видно, что оценок от 0 до 1 намного больше, что приводит к выводу, что если человек действительно прочитает книгу и в конечном итоге возненавидит ее, он все равно получит как минимум около 2 звезд. просто за усилия, которые они приложили для чтения книги.
Кажется, что эксцесс на графике находится между 3 и 4, что означает, что с учетом усилий, которые потребовались для чтения, и захватывающего, неоспоримого характера книги, большинство оценок находятся между 3 и 4.
Какие книги имеют самые высокие отзывы?
Из всех вышеизложенных выводов мы можем принципиально решить, что, хотя обзоры имеют значение, не может быть какой-либо конкретной связи между ними и рейтингом для всех книг.
Я пытаюсь найти взаимосвязь или группы между количеством оценок и средним значением рейтинга с помощью KMeans Clustering.
Я использовал метод кривой локтя, чтобы лучше всего определить количество кластеров для данных.
Механизм рекомендаций
Мы можем сделать вывод, что могут быть некоторые рекомендации, которые могут возникнуть в связи между средним рейтингом и количеством оценок.
Принимая Ratings_Distribution (самостоятельно созданный тренд классификации), система рекомендаций работает с алгоритмом K ближайших соседей.
На основе книги, введенной пользователем, ближайшие к ней соседи будут классифицироваться как книги, которые могут понравиться пользователю.
KNN используется как для задач классификации, так и для решения задач регрессии. В задачах классификации для прогнозирования метки экземпляра мы сначала находим k ближайших экземпляров к данному экземпляру на основе метрики расстояния и на основе схемы мажоритарного голосования или взвешенного большинства (более близкие соседи имеют больший вес) мы прогнозируем метки.
В такой обстановке происходит обучение без учителя, и рекомендуются аналогичные соседи. По данному списку, если я попрошу рекомендации по «Над пропастью во ржи», появятся пять книг, связанных с ним.
Создание таблицы характеристик книг на основе распределения рейтингов, которая классифицирует книги по шкале оценок, например:
- Между 0 и 1
- Между 1 и 2
- Между 2 и 3
- От 3 до 4 лет
- Между 4 и 5
Затем в общих рекомендациях учитываются средние оценки и рейтинги cout для введенного запроса.
Создание специальных функций для поиска названий книг:
- Получить индекс из заголовка
- Получить идентификатор из частичного имени (потому что не все могут вспомнить все имена)
- Распечатайте похожие книги из набора классов объектов. (Для выбора книг используется показатель индексов ближайших соседей.)
Проверяя работу системы, я пробовал использовать следующие примеры.
- Система по названию: Над пропастью во ржи
- Система по имени: Хоббит
- Система по частичному названию: Гарри Поттер (Книга 5)
Модель сделана! Вот ссылка на репозиторий, чтобы вы могли опробовать его или сослаться на него. Это был потрясающий проект с точки зрения системы рекомендаций по книгам.