<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>KCRS: KClustering Recommender System for Component Configuration</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nathan Instruments srl</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Italy monticelli@nathan.it</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Social Things SRL</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Italy</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ricardo.matamoros</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>francesco.epifania</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>luca.marconi</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>antonio.desimone}@socialthingum.com</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>In recent years, the exponential growth in the number of items and products handled by e-commerce sites has led to the introduction of intelligent systems aimed at supporting users during the decisionmaking proces. Making the choice of a product among thousands of items becomes complicated for consumers, and in response to this problem, recommender systems (RS) are born. These systems are a set of algorithms based on the concept of information filtering and make it possible to reduce the cognitive efort required of users. In this paper we present a model-based RS, belonging to the collaborative filtering (CF) category, for the e-commerce website of the company Nathan Instruments (NI). Thus, the main objective of this paper is to provide an intelligent approach for recommending configurations of hardware components for Computers. This configurator uses clustering algorithms to address the problems associated with small dataset sizes. Finally, in the experimentation and conclusion sections it is reported how the proposed model simplifies the decision process related to the required computer customization in terms of hardware and software components.</p>
      </abstract>
      <kwd-group>
        <kwd>Recommender Systems</kwd>
        <kwd>Clustering</kwd>
        <kwd>E-commerce</kwd>
        <kwd>Machine Learning</kwd>
        <kwd>Software Components</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        This article aims to present the intelligent model created by the NI team, which
optimises the process of recommending computer configurations. This RS can be
used both within NI’s e-commerce and by the company’s own technicians who
assist customers in ordering and purchasing products in physical shops. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
Introducing the RS into NI’s sales process optimises the customisation of the
computer required in terms of hardware, software and various options. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] At
the same time, it is able to reduce the time and cost of producing the ofers
themselves[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], which were initially made from a catalogue ofer and managed by
human resources who had to take into account the compatibility of the basic
components available.
      </p>
      <p>Thus, the sales process without RS support was complex: Given the large number
of hardware components, the cardinality of possible configurations grew
exponentially and required the vendor to memorise the compatibility and budget
constraints specified by the customer (PCs intended for ofice automation rather
than processing large amounts of data, preference for a particular operating
system, etc).</p>
      <p>
        The introduction of the RS [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], on the other hand, automates the collection
of requirements and technical specifications that the final configuration must
present, and it is the customer who can enter this information in a simple and
intuitive way [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The following sections describe state-of-the-art methodologies
in the field of artificial intelligence (AI)[
        <xref ref-type="bibr" rid="ref10 ref9">9,10</xref>
        ], such as Machine Learning (ML)
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], used to continuously update knowledge on all the technical specifications of
the various components.
      </p>
      <p>In particular, ”clustering methodologies” are also reported, which allow to
homogeneously group similar configurations and components and thus suggest those
that are less distant from user requirements. The storage of knowledge about the
technical specifications of the hardware and software products in the catalogue
and their processing was carried out through cloud-computing (CC). The article
also reports on the experimentation phase carried out to identify the best type
of clustering in the case study described, as well as the results and conclusions
related to the performance of the RS.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Clustering Methodologies</title>
      <p>
        For the realisation of the RS it was decided to analyse some clustering
methodologies in order to identify similar products on the basis of predefined
characteristics, the aim being to make eficient and compatible recommendations with
respect to user requirements[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>Two diferent methodologies were adopted for the subdivision of the products:
– clustering on the hardware components of the products within each user
category, so as to search for diferent types of objects within the same user
type;
– double clustering on the entire range of available products, with the aim of
searching for substantial diferences between the various objects and
classifying them on the basis of the components of each.</p>
      <p>Both methods follow using the k-means algorithm, based on vector distance.
Although this methodology is the one applied by default, it was decided to
study and implement other types of clustering through which similar solutions
are reached.</p>
      <p>In particular, the diferent methodologies analysed are:
2.1</p>
      <sec id="sec-2-1">
        <title>K-Means</title>
        <p>
          Defined C1, ..., CK a set of groups containing the observations 1, ..., n, such a
set of groups must satisfy the following properties[
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]:
– C1 ∪ C2 ∪ ... ∪ Cn = {1, ..., n}
– Ck ∩ Ck′ = 0, con k ̸= k′
In K-Means a good grouping of observations is one for which the intra-cluster
variation, W (CK ), is minimal, i.e. the following problem must be solved[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]:
where, through the quadratic Euclidean distance, we define
minC1,...,CK
        </p>
        <p>K
X W (CK )</p>
        <p>K=1
W (CK ) =</p>
        <p>1 X Xp (xij − xi′ j )2
|Ck| i,i′ ∈CK j=1
(1)
(2)
where |CK | is the number of observations in cluster K.</p>
        <p>Thus, the algorithm performs the following steps:
1. A value, from 1 to K, is randomly assigned to each observation;
2. The value of the centroid is calculated. The centroid of the k-th cluster is
the vector of dimension p that contains the averages of the variables for the
observations in the k − th cluster;
3. Each observation is assigned to the cluster for which the centroid is closest.</p>
        <p>The proximity is determined by the value of the Euclidean distance.
4. Repeat steps 2. and 3. until convergence is achieved.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Hierarchical clustering</title>
        <p>In this type of method, data are associated with a tree structure in such a way
that the leaves of the tree correspond to observations and the nodes to subsets of
observations. The very nature of the tree introduces a hierarchy into the subsets
associated with the branches.</p>
        <p>
          There are two broad families of hierarchical methods:
1. Agglomerative methods [AGNES]: starting from an initial state of n groups,
in which each observation is a separate group, one proceeds by making
successive mergers of groups with high similarity between them, until k = 1,
i.e. all observations belong to the same group;
2. Divisive Methods [DIANA]: starting from an initial state with k = 1 groups,
i.e. a single group, one proceeds by successive subdivisions until arriving at
n groups[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>
          Both procedures operate on a dissimilarity matrix. The main feature of this
type of method is that once two groups have been joined they will no longer be
separated later, and similarly[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], once two groups are separated they will no
longer be part of the same cluster. Furthermore, applying an algorithm of this
type, the same tree is used for all values of k, each time referring to a diferent
level of the tree. It is therefore a rigid structure.
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Mini Batch K-Means</title>
        <p>In the case of large amounts of data, it is known that the computational
complexity of the K-means algorithm increases considerably. Consequently, it was
decided to modify K-means clustering for research purposes in order to reduce
the computational costs of the algorithm.</p>
        <p>
          Mini-Batch K-means clustering is a variant of K-means clustering in which the
size of the data set considered at each interaction is limited. Standard K-means
clustering operates on the entire dataset at once, while mini-batch K-means
clustering operates on the entire dataset[
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
        <p>The mini-batches are randomly sampled from the entire dataset and for each
new iteration a new random sample is selected and used to update the position
of the centroids.</p>
        <p>In K-Means clustering by minbatch, clusters are updated by a combination of
the mini-batch values and the learning rate. The learning rate decreases during
iterations and is the inverse of the number of elements inserted in a specific
cluster.</p>
        <p>The efect of reducing the learning rate is that the impact of new elements
decreases and convergence is achieved when, after several iterations, there are no
changes in the clusters. The results of studies on the efectiveness of mini-batch
clustering suggest that it can reduce computation time with a slight trade-of
with respect to the quality of the final clusters.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Kcluster recommender system - KCRS</title>
      <p>
        The Kcluster algorithm is able to recommend to the user, whether new or not,
products that, based on his past purchases or similarity with other users, can
satisfy his need, therefore, the proposed algorithm solves the problem known as
cold start, which occurs when a new user registers to the system and has not yet
provided any interaction, so it would not be possible to ofer him personalised
recommendations with so little data[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>The defined KCRS model is mainly based on similarities between products. In
particular through simulated data, as explained in [ref section] according to
precise patterns of computer configurations, two products can be recommended:
1. the first one will be extracted on the basis of the similarities that a user
(belonging to a specific consumer category) has with other members belonging
to the same category;
2. The second recommendation is obtained by a double subdivision of the
products, again based on the similarity between them, so it is as similar as possible
to the products previously purchased by the customer making the request.
This second recommendation is futile when the customer is new and has
never purchased products from NI. In this specific case, the products
extracted will both come from the first search methodology.</p>
      <p>
        All recommendations also respect certain constraints, such as lower price, stock
availability and year of publication of the product. The Kcluster algorithm allows
you to choose the type of clustering method you prefer from the three
implemented K-means, Hierarchical and Mini Batch K-means. Naturally, a default
method is set, namely, K-means[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>NI simulated dataset</title>
      <p>Initially, the data available was numerically insuficient for the application of
the KCRS algorithm. In particular, there was no identifier to link the diferent
data sets, price list and billing system. As a result, there was insuficient data to
validate the recommendations of the products sold. To deal with this problem of
lack of data, it was decided to simulate data that followed as closely as possible
the real data in the price list and Sales system.</p>
      <p>In the domain of computer sales, the relevant data relates to hardware
components and therefore it was decided to simulate only three main components,
namely:
– Processor
– Ram
– Storage
– User Id
– Product Id
– Selling Price
– Availability
– Date of sale
– Year of production
With the criterion of being able to apply the algorithm to real data, in was
decided to simulate again with the following variables:
The statistical process of simulating the dataset is based on the knowledge of the
team of developers and on a survey carried out on a sample of 100 individuals
using Google forms, through which the probability of the presence of a certain
component within a specific computer was defined.</p>
      <p>For this reason, the simulation is based on diferent patterns of configurations,
each with a diferent extraction probability.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Evaluation KCRS</title>
      <p>
        Since these are unsupervised algorithms, the evaluation component is not as
immediate as for other types of supervised clustering, for which the accuracy of an
algorithm is given by the diference of the prediction with respect to the observed
value. The choice of the k-optimum (K∗ ) is a fundamental procedure to obtain
the best product partitioning in both methodologies followed; in particular, the
objective is to maximise the distance between clusters (BSS) and minimise the
distance between clusters (WSS). To do so, it was decided to implement using
two evaluation metrics through which the optimal K∗ can be chosen[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
5.1
      </p>
      <sec id="sec-5-1">
        <title>Silhouette</title>
        <p>Each cluster is represented by a silhouette, which indicates the belonging of a
specific point to the reference cluster.</p>
        <p>In particular, the closer the value is to 1, the more the point has been ”well”
classified, and vice versa the further away the point is from unity.
The process to apply this metric consists of the following steps:
1. consider each observation i in the dataset, assuming A as the cluster of i;
2. calculate the average distance ai of i with all other observations in A</p>
        <sec id="sec-5-1-1">
          <title>3. consider each cluster C diferent from</title>
          <p>d(i, C) of i with the observations in C</p>
        </sec>
        <sec id="sec-5-1-2">
          <title>A and define the average distance</title>
          <p>ai =
1</p>
          <p>X
NA j∈A,j̸=i</p>
          <p>d(i, j)
d(i, C) =
1</p>
          <p>X d(i, c)</p>
          <p>NC c∈C
Sili =</p>
          <p>bi − ai
max(ai, bi)
4. calculate d(i, C) f orall C ̸= A, and select the one with bi = min d(i, C), C ̸=</p>
          <p>A
The silhouette of i is defined as:
(3)
(4)
(5)
(6)
(7)
Whereas the one used in the current project is the so-called Silhouette Media:
silav =</p>
          <p>X sili</p>
          <p>N
i
The number of clusters k can be determined by choosing the value of k that
leads to the highest average silhouette value.
5.2</p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>Index of Calinski-Harabasz</title>
        <p>For any number of clusters k ≥ 2, the Calisnki Harabasz index is defined as:
ch(k) =
tr(Bk)/(k − 1)
tr(Wk)/(n − k)
Where n and k are the total number of observations and the number of clusters,
respectively. tr(Bk) is the trace of the matrix of clusters between groups, while
tr(Wk) is the trace of the matrix of clusters within groups. The optimal
number of clusters is obtained at k for which there are large dissimilarities between
clusters and large similarities within clusters: the solution is then the value of k
that maximises ch(k).</p>
        <p>
          Both metrics give similar results in terms of k∗ so we decided to use only one
evaluation measure, in particular, we apply the average Silhouette as the default
metric since it is the one with the highest level of explainability[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
6
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Experimentation and results</title>
      <p>In this section we report the results obtained with the KCRS algorithm. In the
ifrst results we simulate a given user who decides to do a search through his
user id taking into account purchases made at the same retailer. The algorithm
outputs a summary of past purchases ”Previous Purchases” and then lists the
two recommendations ”Recommendations” (Table 1):
– The first recommendation refers to the product searched for within the same
user category;
– The second recommendation refers to the product being similar to those
previously bought by the user.</p>
      <p>The two recommended products (Table 2) in this case are very similar to those
previously purchased by the user, which means that the KCRS algorithm
recommends correctly as it captures the similarity between purchased and
recommended products.</p>
      <p>In the second table the user enters both their id x, belonging to user category y,
and a user category z within which the search is carried out. As can be seen from
the table, this is similar to the first case, the diference being that the
recommendation no longer refers to past purchases, but to the user category entered.
In the last example (Table 3), where only user category y is entered, the
recommendation is single. This is because, without the user id, the only
recommendation proposed refers to similarity between users, i.e. products sold within
the same user category. Consequently, the recommendation does not take into
account products that have not been sold in the past, for the simple reason that
a product is only assigned to a user category once it has been purchased.
These three short tables containing the results obviously cannot be defined as
systematic verifications of the algorithm, but are intended to briefly summarise
the functionalities and recommendations of the KCRS algorithm, which, as can
be seen from the results just shown works and meets the initial needs of the
customer.
items
item 1
item 2
items
item 1
item 2
items
item 1
item 2
items
item 1
item 2
The work described in this paper provides an interesting case of using
clustering algorithms within RS, in particular through an RS combining both Content
Based and CF approaches.</p>
      <p>Starting from a simulated dataset for the domain of e-commerce sites, in
particular in the electronics and IT category, the KCRS algorithm allows, within
catalogues with considerable quantities of products, to make the most suitable
recommendations for the customer’s needs. The decision to use simulated data
stems from the fact that NI’s billing system is not yet linkable with the price
lists of computer suppliers.</p>
      <p>The simulated data has the sole purpose of testing and validating the developed
algorithm, and then in the future applying KCRS to real data. In particular
using K-Means, Hierarchical and Mini-Batch together with evaluation metrics
for cluster separation, Silhouette and Calinski-Harabasz Index, it was concluded
that the clusters found within the datasets are adequately separated to make
personalised recommendations.</p>
      <p>Some improvements and future developments consist in analysing further
characteristics of the users e.g. the metadata associated with their profile. A user
is described not only by job category, but can be categorised diferently within
the platform and, consequently, recommendations could achieve better
accuracy. In addition, a test phase is planned to apply the Precision@K, Recall@K,
F-measure@K metrics, which will allow a better assessment of the model’s
performance against recommendations.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Thrun</surname>
          </string-name>
          , Wolfram Burgard Dieter Fox:
          <article-title>Probabilistic Robotics (</article-title>
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>J. B. MacQueen</surname>
          </string-name>
          (
          <year>1967</year>
          )
          <article-title>: ”Some Methods for classification and Analysis of Multivariate Observations”</article-title>
          ,
          <source>Proceedings of 5-th Berkeley Symposium on Mathematical Statistics and Probability</source>
          , Berkeley, University of California Press
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Darius</surname>
            <given-names>Pfitzner</given-names>
          </string-name>
          , Richard Leibbrandt, David Martin Ward Powers June:
          <article-title>Characterization and evaluation of similarity measures for pairs of clusterings, 2009 Knowledge and Information Systems</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>K.</given-names>
            <surname>Leonard</surname>
          </string-name>
          ,
          <string-name>
            <surname>R. Peter J</surname>
          </string-name>
          :
          <article-title>Finding groups in data: an introduction to cluster analysis</article-title>
          . New York etc : Wiley,
          <year>1990</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Fernando</given-names>
            <surname>Ortega e Angel</surname>
          </string-name>
          Gonzalez-Prieto:
          <article-title>Recommender Systems</article-title>
          and Collaborative Filtering, (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ricci</surname>
          </string-name>
          , Francesco and Rokach, Lior and Shapira, Bracha:
          <article-title>Introduction to recommender systems handbook</article-title>
          , ricci2011introduction,
          <year>Springer 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Thomas</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Mitchell</surname>
          </string-name>
          .
          <year>1997</year>
          .
          <article-title>Machine Learning (1st</article-title>
          . ed.).
          <string-name>
            <surname>McGraw-Hill</surname>
          </string-name>
          , Inc., USA
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Michael</given-names>
            <surname>Scholz</surname>
          </string-name>
          , Verena Dorner, Guido Schryen,
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Benlian</surname>
          </string-name>
          ,
          <article-title>A configurationbased recommender system for supporting e-commerce decisions</article-title>
          ,
          <source>European Journal of Operational Research</source>
          , Volume
          <volume>259</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>1</given-names>
          </string-name>
          ,
          <fpage>2017</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Melville</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Sindhwani</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>Recommender systems</article-title>
          .
          <source>Encyclopedia of machine learning</source>
          ,
          <volume>1</volume>
          ,
          <fpage>829</fpage>
          -
          <lpage>838</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harper</surname>
            ,
            <given-names>F. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Adomavicius</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Konstan</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          (
          <year>2018</year>
          , April).
          <article-title>Explicit or implicit feedback? Engagement or satisfaction? A field experiment on machinelearning-based recommender systems</article-title>
          .
          <source>In Proceedings of the 33rd Annual ACM Symposium on Applied Computing</source>
          (pp.
          <fpage>1331</fpage>
          -
          <lpage>1340</lpage>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. E. B.
          <string-name>
            <surname>Fowlkes</surname>
            ,
            <given-names>C. L.</given-names>
          </string-name>
          <string-name>
            <surname>Mallows</surname>
          </string-name>
          <article-title>A Method for Comparing Two Hierarchical Clusterings</article-title>
          ,
          <source>Journal of the American Statistical Association</source>
          <volume>78</volume>
          .383 pp.
          <fpage>553</fpage>
          -
          <lpage>69</lpage>
          ,
          <year>1983</year>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Davies</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouldin</surname>
            ,
            <given-names>D.W.:</given-names>
          </string-name>
          <article-title>A cluster separation measure</article-title>
          .
          <source>IEEE Trans. Pattern Anal. Mach. Intell</source>
          .
          <volume>2</volume>
          ,
          <fpage>224</fpage>
          -
          <lpage>227</lpage>
          (
          <year>1979</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Likas</surname>
            , Aristidis,
            <given-names>Nikos</given-names>
          </string-name>
          <string-name>
            <surname>Vlassis</surname>
            , and
            <given-names>Jakob J. Verbeek.</given-names>
          </string-name>
          ”
          <article-title>The global k-means clustering algorithm</article-title>
          .
          <source>” Pattern recognition 36.2</source>
          (
          <year>2003</year>
          ):
          <fpage>451</fpage>
          -
          <lpage>461</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. S. Lukasik,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Kowalski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Charytanowicz</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Kulczycki</surname>
          </string-name>
          , ”
          <article-title>Clustering using flower pollination algorithm and Calinski-Harabasz index</article-title>
          ,”
          <source>2016 IEEE Congress on Evolutionary Computation (CEC)</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>2724</fpage>
          -
          <lpage>2728</lpage>
          , doi: 10.1109/CEC.
          <year>2016</year>
          .
          <volume>7744132</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>U.</given-names>
            <surname>Kuzelewska</surname>
          </string-name>
          and
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Kury lowicz, ”Multi-Clustering Applied to Collaborative Recommender Systems</article-title>
          ,” 2018
          <source>Thirteenth International Conference on Digital Information Management (ICDIM)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>118</fpage>
          -
          <lpage>123</lpage>
          , doi: 10.1109/ICDIM.
          <year>2018</year>
          .
          <volume>8847141</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>R. M. Esteves</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Hacker</surname>
            and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Rong</surname>
          </string-name>
          , ”
          <article-title>Competitive K-Means, a New Accurate and Distributed K-Means Algorithm for Large Datasets</article-title>
          ,”
          <source>2013 IEEE 5th International Conference on Cloud Computing Technology and Science</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>17</fpage>
          -
          <lpage>24</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhou</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Li</surname>
          </string-name>
          , ”
          <article-title>Anomaly Detection by Using Streaming K-Means</article-title>
          and
          <article-title>Batch K-Means</article-title>
          ,”
          <volume>2020</volume>
          <source>5th IEEE International Conference on Big Data Analytics (ICBDA)</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>11</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>Liang</given-names>
            <surname>Wang</surname>
          </string-name>
          and
          <string-name>
            <given-names>Huan</given-names>
            <surname>Ruan</surname>
          </string-name>
          , ”
          <article-title>An improved recommender system in publications e-commerce based on TOPSIS Algorithm</article-title>
          ,”
          <source>2011 International Conference on Computer Science and Service System (CSSS)</source>
          ,
          <year>2011</year>
          , pp.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. Schord¨er, G.,
          <string-name>
            <surname>Thiele</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Lehner</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          (
          <year>2011</year>
          ,
          <article-title>October)</article-title>
          .
          <article-title>Setting goals and choosing metrics for recommender system evaluations</article-title>
          .
          <source>In UCERSTI2 workshop at the 5th ACM conference on recommender systems</source>
          , Chicago, USA (Vol.
          <volume>23</volume>
          , p.
          <fpage>53</fpage>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>