﻿<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD with MathML3 v1.2 20190208//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article
    xmlns:mml="http://www.w3.org/1998/Math/MathML"
    xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="mini-review">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">IJMEBAC</journal-id>
      <journal-title-group>
        <journal-title>International Journal of Mathematical, Engineering, Biological and Applied Computing</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2832-5273</issn>
      <issn pub-type="ppub"></issn>
      <publisher>
        <publisher-name>Science Publications</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.31586/ijmebac.2022.341</article-id>
      <article-id pub-id-type="publisher-id">IJMEBAC-341</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Mini Review</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>
          Create a Book Recommendation System using Collaborative Filtering
        </article-title>
      </title-group>
      <contrib-group>
<contrib contrib-type="author">
<name>
<surname>Marappan</surname>
<given-names>Raja</given-names>
</name>
<xref rid="af1" ref-type="aff">1</xref>
<xref rid="cr1" ref-type="corresp">*</xref>
</contrib>
      </contrib-group>
<aff id="af1"><label>1</label>School of Computing, SASTRA Deemed University, Thanjavur, India</aff>
<author-notes>
<corresp id="c1">
<label>*</label>Corresponding author at: School of Computing, SASTRA Deemed University, Thanjavur, India
</corresp>
</author-notes>
      <pub-date pub-type="epub">
        <day>21</day>
        <month>06</month>
        <year>2022</year>
      </pub-date>
      <volume>1</volume>
      <issue>1</issue>
      <history>
        <date date-type="received">
          <day>21</day>
          <month>06</month>
          <year>2022</year>
        </date>
        <date date-type="rev-recd">
          <day>21</day>
          <month>06</month>
          <year>2022</year>
        </date>
        <date date-type="accepted">
          <day>21</day>
          <month>06</month>
          <year>2022</year>
        </date>
        <date date-type="pub">
          <day>21</day>
          <month>06</month>
          <year>2022</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>&#xa9; Copyright 2022 by authors and Trend Research Publishing Inc. </copyright-statement>
        <copyright-year>2022</copyright-year>
        <license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
          <license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p>
        </license>
      </permissions>
      <abstract>
        One of the most important applications of data science is the recommendation system. Every organization requires a good recommendation system to express a large range of items. This research focuses on the creation of a book recommender system using collaborative filtering.
      </abstract>
      <kwd-group>
        <kwd-group><kwd>Recommendation System</kwd>
<kwd>Book Recommender</kwd>
<kwd>Data Science</kwd>
<kwd>Machine Learning</kwd>
<kwd>Collaborative Filtering</kwd>
</kwd-group>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
<title>Introduction</title><p>The recommendation engine is defined as a machine learning (ML) class that offers the right suggestions or recommendations to the user or organization. The recommendation system helps the user or the company to create a trust for the services and products. These systems are classified into collaborative filtering (CF), content-based filtering, and a combination of both. The book recommendation system recommends the books to the readers based on their styles and interests. The online sites use book recommenders that provide several electronic book categories [
<xref ref-type="bibr" rid="R1">1</xref>,<xref ref-type="bibr" rid="R2">2</xref>]. This research focuses on the creation of a book recommender using the CF approach.</p>
</sec><sec id="sec2">
<title>Book Recommender using CF</title><p>This session focuses on developing a powerful book recommender using the CF approach [
<xref ref-type="bibr" rid="R3">3</xref>,<xref ref-type="bibr" rid="R4">4</xref>,<xref ref-type="bibr" rid="R5">5</xref>,<xref ref-type="bibr" rid="R6">6</xref>,<xref ref-type="bibr" rid="R7">7</xref>,<xref ref-type="bibr" rid="R8">8</xref>]. The datasets are taken from the URLs:</p>
<p>https://www.kaggle.com/datasets/rxsraghavagrawal/book-recommender-system</p>
<p>https://thecleverprogrammer.com/2020/05/23/book-recommendation-system-with-machine-learning/</p>
<p>The datasets are BX-Users, BX-Books.csv and BX-Book-Ratings.csv. These consists of the fields: book-title, publication year, publisher, user id (users), ISBN (books), and book-rating. </p>
<p>The steps in the creation of the book recommender are as follows:</p>
<p>Import the necessary libraries and load the datasets.</p>
<p>Remove the unnecessary columns and rename the required columns.</p>
<p>Check the reliability of the dataset using the command: books.head()</p>
<p>Apply the matrix factorization for the CF. </p>
<p>Create the matrix with users as columns, books as indices, and values as ratings.</p>
<p>Consider the users who rated at least 250 books and book ratings as 50 for each user.</p>
<p>Perform the exploratory data analysis using ratings['user_id'].value_counts().</p>
<p>Get the users those who rated at least 250 books.</p>
<p>Combine the ratings with the books.</p>
<p>Filter the books with ratings of at least 50.</p>
<p>Define the pivotTable <xref ref-type="table" rid="tabtable with"> table with</xref> users as columns, books as indices, and values as ratings.</p>
<p>Develop the model using KNN training and convert the pivot entries into spare form.</p>
<p>Apply the nearest neighbor and check the top 10 books.</p>
<p></p>
<p>The performance measures are shown inFigure <xref ref-type="fig" rid="figfigure 1"> figure 1</xref> and the sample recommendations using the KNN model are shown inFigure <xref ref-type="fig" rid="fig2"> 2</xref>.</p>
<fig id="fig1">
<label>Figure 1</label>
<caption>
<p>Performance measures</p>
</caption>
<graphic xlink:href="341.fig.001" />
</fig><fig id="fig2">
<label>Figure 2</label>
<caption>
<p>Sample recommendations</p>
</caption>
<graphic xlink:href="341.fig.002" />
</fig></sec><sec id="sec3">
<title>Conclusions &#x00026;#x26; Future Work</title><p>The book recommender is developed using the CF approach as unsupervised learning. This model required some preprocessing steps. In the future, the proposed model can be integrated with the other soft computing strategies [
<xref ref-type="bibr" rid="R9">9</xref>,<xref ref-type="bibr" rid="R10">10</xref>,<xref ref-type="bibr" rid="R11">11</xref>,<xref ref-type="bibr" rid="R12">12</xref>].</p>
<p></p>
</sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      
<ref id="R1">
<label>[1]</label>
<mixed-citation publication-type="other">S. Shaikh, S. Rathi and P. Janrao, "Recommendation System in E-Commerce Websites: A Graph Based Approached," 2017 IEEE 7th International Advance Computing Conference (IACC), 2017, pp. 931-934, doi: 10.1109/IACC.2017.0189.
</mixed-citation>
</ref>
<ref id="R2">
<label>[2]</label>
<mixed-citation publication-type="other">P. Li and Z. Hong, "Book recommendation algorithm based on the interest and type factor for university," Journal of Zhejiang university of technology, vol. 47, no. 4, pp. 425-429, 2019.
</mixed-citation>
</ref>
<ref id="R3">
<label>[3]</label>
<mixed-citation publication-type="other">P. Wang, "Research and practice of book recommendation system based on SNS," Computer Applications and Software, vol. 29, no. 12, pp. 21-23, 2012.
</mixed-citation>
</ref>
<ref id="R4">
<label>[4]</label>
<mixed-citation publication-type="other">C. Liu, "Collaborative filtering hybrid recommendation algorithm based on improved biased and cluster user nearest neighbor," Computer Applications and Software, vol. 38, no. 5, pp. 288-293, 2021.
</mixed-citation>
</ref>
<ref id="R5">
<label>[5]</label>
<mixed-citation publication-type="other">T. Huang, "Application research of collaborative filtering algorithm based on neighbor model," Journal of Beijing Infor-mation Science and Technology University (Natural Science Edition), vol. 32, no. 4, pp. 90-94, 2017.
</mixed-citation>
</ref>
<ref id="R6">
<label>[6]</label>
<mixed-citation publication-type="other">Bhaskaran, S., Marappan, R. Design and analysis of an efficient machine learning based hybrid recommendation system with enhanced density-based spatial clustering for digital e-learning applications. Complex Intell. Syst. (2021). https://doi.org/10.1007/s40747-021-00509-4
</mixed-citation>
</ref>
<ref id="R7">
<label>[7]</label>
<mixed-citation publication-type="other">Bhaskaran, S.; Marappan, R.; Santhi, B. Design and Analysis of a Cluster-Based Intelligent Hybrid Recommendation Sys-tem for E-Learning Applications. Mathematics 2021, 9, 197. https://doi.org/10.3390/math9020197
</mixed-citation>
</ref>
<ref id="R8">
<label>[8]</label>
<mixed-citation publication-type="other">Bhaskaran, S.; Marappan, R.; Santhi, B. Design and Comparative Analysis of New Personalized Recommender Algo-rithms with Specific Features for Large Scale Datasets. Mathematics 2020, 8, 1106. https://doi.org/10.3390/math8071106
</mixed-citation>
</ref>
<ref id="R9">
<label>[9]</label>
<mixed-citation publication-type="other">Marappan, R., Sethumadhavan, G. Solving Graph Coloring Problem Using Divide and Conquer-Based Turbulent Particle Swarm Optimization. Arab J Sci Eng (2021). https://doi.org/10.1007/s13369-021-06323-x
</mixed-citation>
</ref>
<ref id="R10">
<label>[10]</label>
<mixed-citation publication-type="other">Marappan, R.; Sethumadhavan, G. Complexity Analysis and Stochastic Convergence of Some Well-known Evolutionary Operators for Solving Graph Coloring Problem. Mathematics 2020, 8, 303. https://doi.org/10.3390/math8030303
</mixed-citation>
</ref>
<ref id="R11">
<label>[11]</label>
<mixed-citation publication-type="other">Marappan, R., Sethumadhavan, G. Solution to Graph Coloring Using Genetic and Tabu Search Procedures. Arab J Sci Eng 43, 525-542 (2018). https://doi.org/10.1007/s13369-017-2686-9
</mixed-citation>
</ref>
<ref id="R12">
<label>[12]</label>
<mixed-citation publication-type="other">R. Marappan and G. Sethumadhavan, "A New Genetic Algorithm for Graph Coloring," 2013 Fifth International Confer-ence on Computational Intelligence, Modelling and Simulation, 2013, pp. 49-54, doi: 10.1109/CIMSim.2013.17.
</mixed-citation>
</ref>
    </ref-list>
  </back>
</article>