Основная идея

Основная идея использования набора данных 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)

Модель сделана! Вот ссылка на репозиторий, чтобы вы могли опробовать его или сослаться на него. Это был потрясающий проект с точки зрения системы рекомендаций по книгам.