1 Introduction

The advancement of technology and growth of population make a wide usage of informal social websites that result in an exponential expansion of web contents. Due to these enormous and variety of web contents confuses the online user to making correct decision for their requirements. Personalized recommender system (RS) is an effective tool to take care of information overloaded problem (Linden et al. 2003). RS accumulates information according to the user’s preferences for various activities such as movies, shopping, tourism, TV and taxi through two ways, either implicitly or explicitly. Explicit ratings are numerical ratings and that are directly given to RS model, whereas user opinions are given in text format for implicit rating. An e-commerce site uses the RS to predict user’s purchase behaviors using the user’s past preference information and suggests products of user’s potential interest in order to enhance their profit. Algorithms are used to predict the user preference by interacting with a user for both to acquire data and to provide recommendations. The development of RS is based on the domain of recommendation and agencies such as Amazon and Netflix.

The main categories of RS are collaborative filtering (CF), content-based filtering (CBF) and hybrid filtering techniques. CF is widely used mechanism for RS filtering, which provides suggestion by analyzing the rating details of items or the users. CBF based RS works by matching the features of items that are purchased in the past with features of new item that is ready to be recommended (Lops et al. 2011). If the matches are found between the features of an items, then the corresponding item is recommended to the target user. CF-based model is domain independent and provides better accuracy than the CBF. If the content of the items is not available or challenging to acquire, CF recommends item to the target user based on the other user’s feedback values (neighbors). Due to its easiness, productivity and ability to produce accurate and personalized recommendations, CF is considered as a prominent method in RS.

CF is categorized into memory-based and model-based methods. In memory-based CF, initially, the similarity between the target user and all other users is calculated. Further, the nearest similar users are identified based on the calculated similarity value. Using the identified nearest users, the target item values are predicted and the recommendations are provided accordingly. Memory-based CF technique is further classified into user-based and item-based methods. The user-based method predicts the value of the new item with respect to the nearest neighbors of a target user, whereas in an item-based method, a prediction is done with respect to the nearest neighboring item to the item of a target user. In memory-based CF, on each attempt, the entire user–item rating matrix has to be loaded into memory to calculate similarity among the users. This leads to the scalability issue and also takes longer computational time. To address this issue, the model-based CF is preferred by the researchers.

The model-based technique uses the supervised or unsupervised approaches to learn a model from training user–item rating matrix. A learned model is further used for predicting the rating of target user’s item. In this method, once the model is built, then the user–item matrix is not required, which enables the prediction to be done in offline and faster even the number of users and items increases. Many of the research work has been done by using model-based supervised learning techniques (Braida et al. 2015). The main shortcoming in using supervised learning technique is creating a training dataset with the class label. Thus, the accuracy of the RS model depends on the labeled training dataset (Braida et al. 2015). To avoid this limitation, model-based methods with unsupervised clustering approaches are mostly preferred for RS-related applications.

The model-based unsupervised clustering approach groups the similar data points together and finds the pattern for unlabeled data points. Among many clustering, k-means clustering is widely used partition-based clustering approach in RS that allocates data points to the clusters with highest similarity value (Al Mamunur Rashid et al. 2006; Sarwar et al. 2002; Xue et al. 2005). That is, it allocates data point which belongs to exactly one cluster (Ghosh and Dubey 2013). But the data points have the probability to reside two or more clusters. This is measured by fuzzy membership function that used in fuzzy c-means (FCM) clustering approach. Many research has been conducted by using FCM method and its variants (Ghosh and Dubey 2013; Li and Kim 2003; Nasser et al. 2006; Wu and Li 2008; Kuo-Lung and Yang 2002). The main limitation of FCM is that it provides considerably large error rate and takes more iterations to get well-framed clusters. To overcome the above issues, this study proposes a modified FCM (MFCM) clustering approach, which reduces the error rate and increases an accuracy of recommendation significantly.

After getting well-framed clusters, an optimum data points in each cluster have to be identified and the recommendations made accordingly. Optimization algorithms are used to identify the optimum data points from the each cluster. Many optimization algorithms depend on the applications perfective. Genetic algorithm (GA) (Ar and Bostanci 2016; Bobadilla et al. 2011; Demir et al. 2010), particle swarm optimization (PSO) (Katarya and Verma 2016; Ujjin and Bentley 2003), cuckoo search (CS) (Liu and Fu 2014; Raja and Vishnupriya 2016; Roy and Chaudhuri 2013; Tran et al. 2015), water cycle algorithm (WCA) (Pahnehkolaei et al. 2017), memetic algorithm (MA) (Arab and Alfi 2015; Banati and Mehta 2010; Mousavi and Alfi 2015), artificial bee colony (ABC) (Mernik et al. 2015) and harmony search (HS) (Ameli et al. 2016) are some of the popular optimization algorithms provided in the literature.

The main objective of this study is to select the optimum data points from each cluster to improve the recommendation accuracy. To achieve this, a novel optimization algorithm is proposed based on modified cuckoo search (MCS) algorithms, which eliminate the limitation of traditional CS algorithm and increase the recommendation performance significantly. To compare the efficiency of the proposed MCS algorithm, it is compared with popular optimization algorithms such as PSO and CS.

The main contribution of this study includes,

  • Proposed a new CF-based similarity measure that preprocesses the MovieLens dataset by removing the movies with differed characteristics.

  • Proposed a new MFCM clustering approach on processed dataset to get a cluster with reduced error.

  • The effectiveness of proposed MFCM clustering approach is validated experimentally with existing FCM method.

  • The optimal user in each cluster is obtained effectively by proposing a new MCS techniques.

  • The effectiveness of proposed MCS is tested with standard benchmark optimization functions and compared with PSO and CS.

The rest of this paper is organized as follows: Section 2 reviews some of the popular model-based CF methods. Preprocessing, proposed methodologies and details of performance measures are elaborated in Sect. 3. Results and discussion of various combinations of clustering and optimization algorithms are explained in Sect. 4. Finally, Sect. 5 concludes the work.

2 Literature survey

An improvement in web 2.0 and social network resulted in an increasing number of individuals who are coming as a main source of data producer rather than being just data consumers. Web data are mainly produced by users that yield result in data overloading. This will not help a user to analyze and take better, precise choices effectively. Handling such a high volume of information by a human being is incomprehensible. But these informations have to be processed to help a user to come up with better decision through recommendation.

Numerous RS algorithms are produced in different applications, for example, online business, media, computerized library and online promoting (Linden et al. 2003). The main classes of RS include CBF (Lops et al. 2011), CF (Patra et al. 2015), and hybrid techniques. CF is categorized as memory-based and model-based methods (Lu et al. 2015; Zhang et al. 2016).

Memory-based CF works were performed by recommending items to an end user using similarity measures (Patra et al. 2015) such as Pearson, cosine, adjusted cosine, constrained Pearson, mean squared difference (MSD), Jaccard MSD and Bhattacharyya. Though many similarity measures are used to predict the value of an item for a recommendation, it has many drawbacks as it considers only co-rated items and leaves some user rating while calculating similarity. So this method is not suitable for a sparse dataset. To overcome these drawbacks, researchers concentrated on model-based CF techniques, which works in building a model from user–item rating matrix using supervised or unsupervised learning algorithms. Model-based CF with supervised algorithms needs a history of labeled data before building a model (Braida et al. 2015). The accuracy of RS is based on the correctness of labeled training data. Labeling training data needs more human effort, and the results are erroneous. To handle these issues, the model is built with unsupervised learning algorithms.

The extra impact on which some RSs are based on clustering approach divides a dataset into groups based on some similarity measures (Mukhopadhyay et al. 2015). Clustering groups the similar users based on their preference in order to enhance the recommendation performance. The k-means algorithm is an efficient clustering approach compared to other clustering approaches in relation to time, complexity or effectiveness for a specific number of clusters (Kanungo et al. 2002). The k-means clustering approach and its variants are applied to various issues of RS applications such as sparsity, scalability and cold-start problem (Zanardi 2011). Bisecting k-means clustering approach was introduced to distinguish and analyze a lot of data points available in privacy preserving application (Bilge and Polat 2013) and web-based movie RS (Sarwar et al. 2002). The new centroid selection algorithm was introduced using k-means algorithm to provide accurate recommendations and also reduces the cost of training the cluster (Zahra et al. 2015). This algorithm improves an accuracy of a model than the random selection of centroids. The CLUSTKNN clustering approach was implemented to improve the quality of RS and also handles the data points in large-scale application (Al Mamunur Rashid et al. 2006). The k-means cluster-based smoothing CF was applied in the large dataset which provides efficient recommendations (Xue et al. 2005). It also eliminates data sparsity and scalability issues. A new clustered social ranking algorithm was developed to support new web user for finding the content interest (Zanardi and Capra 2011; Zanardi 2011). The k-means algorithm and its variants form a cluster where the data points belong to only one cluster at a time (Tsai and Hung 2012). Also, it does not guarantee convergence of clustering process. But some of the data points have a probability to fall into two or more cluster at a time.

This issue was tackled by FCM clustering approach, which calculates a membership value from 0 to 1. This membership value denotes the maximum chance that the data point can place into a particular cluster. The cold-start problem of RS was handled by FCM clustering approach (Li and Kim 2003). FCM generates group rating matrix, which is combined with item ratings to provide recommendations to the cold-start user. The fuzzy k-means expectation maximization (FKEM) algorithm was introduced, which combines weighted fuzzy k-means algorithm with expectation maximization algorithm to attain guaranteed convergence in less number of k value (Nasser et al. 2006). In order to get better interpretability the modified FCM was used, which combines FCM clustering and matrix factorization techniques (Wu and Li 2008). This achieves better recommendation accuracy in Netflix Prize dataset. Alternative FCM (AFCM) and alternative hard c-means (AHCM) algorithm was proposed where the AFCM method differentiates abnormal tissues from the normal tissues better than the AHCM method (Kuo-Lung and Yang 2002). The FCM is used to cluster the data points, and GA is used to find the optimal solution by computing the similarity among the data points to provide the effective recommendation (Gupta et al. 2015). The FCM algorithm was employed to calculate a weight of the web page to provide web page recommendation (Katarya and Verma 2016). The FCM was also used to analyze the user behavior and provides recommendations to the target user for the web log files collected from National Museum of History (Fang and Liu 2003). FCM and its variants are used in various applications such as online learning (Bodyanskiy et al. 2017), image processing (Wen and Celebi 2011; Li and Shen 2010) and biomedical application (Kuo-Lung and Yang 2002). Though FCM and its variants have been used in many application, it yields significantly large error and converges in a large number of iterations to get well-formed clusters (Guo et al. 2015; Koohi and Kiani 2016; Merialdo 1999; Nilashi et al. 2015; Thong 2015). Finding an effective clustering approach to design a well-framed cluster is still a challenge. To overcome the above-mentioned issues, this paper proposes new MFCM clustering approach to improve the RS accuracy.

The aim of this paper is to provide an efficient recommendation to the target user by extracting an optimized user from the processed clusters. Various optimization algorithms have been used in many application. They include GA (Ar and Bostanci 2016; Bobadilla et al. 2011; Demir et al. 2010), PSO (Katarya and Verma 2016; Ujjin and Bentley 2003), CS (Liu and Fu 2014; Raja and Vishnupriya 2016; Roy and Chaudhuri 2013; Tran et al. 2015), WCA (Pahnehkolaei et al. 2017), ABC (Mernik et al. 2015), HS (Ameli et al. 2016) and MA (Arab and Alfi 2015; Banati and Mehta 2010; Mousavi and Alfi 2015). Optimization algorithms are modified and hybridized for the convenience of problem based on an application. GA was used to obtain an optimal similarity function, which performed better than conventional similarity measure (Bobadilla et al. 2011). An innovative music RS was introduced, which combines CBF and interactive GA (Kim et al. 2010). The k-means clustering based on GA was proposed to segment electronic commerce market effectively (Kim and Ahn 2008). PSO and FCM are combined to map the values to an attribute effectively (Brouwer and Groenwold 2010). Also, PSO was used to prioritize individual fuzzified features of a user to get an effective recommendation (Wasid and Kant 2015). A web-based RS was proposed by hierarchical PSO-based clustering, which combines properties of hierarchical and partitional clustering (Alam et al. 2012). Data point is clustered using k-means algorithms and is optimized using CS techniques to provide an efficient recommendation (Katarya and Verma 2016). Clustering with a bio-inspired CS algorithm (Yang and Deb 2014) delivers optimized outcomes. As far the RS is considered, the solutions are scattered in GA due to the randomness nature (crossover and mutation). Exploration and exploitation of search space in PSO are not efficient due to the lesser step size random walk. In CS algorithm, the step size to explore the search space is very efficient than PSO due to the random walk through Levy flight. Also, the number of parameter used to configure initial search is less. CS also balances the search space exploitation and exploration effectively than other optimization algorithms. Owing to these advantages, the CS is preferred in RS, where every nest represents the individual solution that makes the effective global solution that is acceptable (Hatami and Pashazadeh 2014).

To get an optimal solution, the search space exploration and exploitation should be performed in an effective way with solution convergence on less number of iterations. The search space is covered in CS with step size calculation using Levy flight distribution, which is not finite. To make a finite step size, the Levy exponent in CS is replaced by proposing a Gaussian exponent function. The above-mentioned solution is implemented with proposed MCS algorithm to provide an efficient recommendation using proposed MFCM clustering approach.

3 Proposed methodology

The main objective of this study is to apply MCS optimization algorithm to provide an efficient recommendation to the target user using MCFM clustering approach. The following section represents the steps to be carried out for proposed RS as represented in Fig. 1.

Fig. 1
figure 1

Flow diagram of proposed RS

3.1 Data collection and preprocessing

The user’s rating on the collection of movies is obtained from the benchmark MovieLens dataset.Footnote 1 Movies with differed characteristics, that is the movie is not having similar characteristics with other movies, should be removed. Because when these movies are clustered into some groups, they will, in turn, affect the recommendation accuracy. So, these movies are considered as outliers and should be removed from the dataset before applying the clustering approach.

The movie-based CF method is proposed to find the similarity among the movies, which is the ratio between multiplication and addition of ratings for all the users of co-rated movies. Let X be the set of users \(\{u_1, u_2, u_3, \dots , u_x\}\) and Y be the set of movies \(\{m_1, m_2, m_3, \dots , m_y\}\). Let u be any arbitrary user in a group X who has rated both the movies \(m_p\) and \(m_q\) (\(m_p, m_q \in Y\)). Then, the proposed similarity measure is given in Eq. 1.

$$\begin{aligned} sim(m_p,m_q)= \frac{\sum \nolimits _{u \in (m_p \cap m_q)}r_{u,m_p} \times r_{u,m_q}}{\sum \nolimits _{u \in (m_p \cap m_q)}r_{u,m_p} + r_{u,m_q}} \end{aligned}$$
(1)

where \(r_{u,m_p}\) and \(r_{u,m_q}\) represent the rating of user u on movies p and q, respectively. Finally, the movie with less similarity value (below 0.3 by experimentation) is removed from the dataset, and the dataset with remaining movies is considered for further processing.

3.2 MFCM clustering approach

FCM clustering approach was developed by Dunn (1973) and further improved by Bezdek (1981). In FCM clustering, each data point has a probability of having a place with each cluster, as opposed to totally having a place with only one cluster as it is the situation in the conventional k-means. FCM places the data points in multidimensional space into the finite number of clusters. The aim of FCM is to find the centroid that increases the similarity between data points within the cluster.

Generally, data points do not exactly belong to only one cluster rather it may have a chance to enter into more than one cluster. FCM uses the membership function that assigns the data points to multiple clusters with different degrees of membership value (\(\eta \)) between 0 and 1. The goal of FCM is to reduce error, and the minimization of error objective function is given in Eq. 2.

$$\begin{aligned} {\textit{Objective\_\,\,function}}_{\textit{FCM}}=\sum \limits _{i=1}^l\sum _{j=1}^{n}(\eta _{ij})^m \parallel t_i-c_j \parallel ^2 \end{aligned}$$
(2)

where \(\eta _{ij}\) represents the membership value of data point i to the cluster centroid j and m is the fuzzy index value between 1 to \(\infty \). Initially, the cluster centroid \(c_j\) is taken randomly. The membership value \(\eta _{ij}\) and cluster centroid \(c_j\) values are updated till the optimal error value of objective function is reached.

Each cluster method run individually with a various number of group set so as to discover the best clustering approach that can provide the most noteworthy rate of recommendation accuracy. FCM has turned as a well-known clustering approach and performs well in the certain type of applications. FCM is highly suffered by large error rate and more number of iterations to get well-framed clusters. It reduces the performance of RS considerably. To overcome this limitation, MFCM clustering approach that modifies the objective function of FCM using a novel weighted mean distance function (\(\rho \)) is proposed as given in Eq. 3. The objective function of MFCM is coined as,

$$\begin{aligned} {\textit{Objective}}\_{\textit{function}}_{\textit{MFCM}}=\sum \limits _{i=1}^l\sum _{j=1}^n(\eta _{ij})^m \frac{\parallel t_i-c_j \parallel ^2}{\rho _j} \end{aligned}$$
(3)

where \(\rho _j\) is the weighted mean distance function for cluster j. It is formulated as in Eq. 4.

$$\begin{aligned} \rho _j= \left( \frac{\sum \nolimits _{j=1}^n \eta _{ij}^m \parallel t_i-c_j \parallel ^2}{\sum \nolimits _{j=1}^n\eta _{ij}^m} \right) ^{1/2} \end{aligned}$$
(4)

Considering \(\rho \) in the objective function of MFCM reduces the error rate and a number of iterations significantly. The formula for calculating membership function \(\eta _{ij}\) is given in Eq. 5.

$$\begin{aligned} \eta _{ij}=\frac{1}{\sum \nolimits _{k=1}^n \Big ( \frac{\parallel t_i-c_j \parallel }{\parallel t_i-c_k \parallel }\Big )^{\frac{2}{m-1}} } \end{aligned}$$
(5)

The new cluster centroid \(c_j\) is calculated as given in Eq. 6.

$$\begin{aligned} c_j=\frac{\sum \nolimits _{i=1}^l \eta _{ij}^m \times t_i}{\sum \nolimits _{i=1}^l \eta _{ij}^m},\quad \forall j = 1,2, \dots , n \end{aligned}$$
(6)

Repeat the calculation of \(\eta _{ij}\) and \(c_j\) till the minimum error value for \({\textit{Objective\_\,\,function}}_{\textit{MFCM}}\) is reached or the membership value change between two iterations is less than the given sensitivity threshold \(\varphi \). Equation 7 represents the stopping criterion based on membership values between consecutive iterations k and \(k+1\).

$$\begin{aligned} \max _{ij} \left\| \eta _{ij}^{(k+1)} - \eta _{ij}^{(k)} \right\| < \varphi \end{aligned}$$
(7)

where \(\varphi \) represents the termination criterion which ranges from 0 and 1. Finally, the data points are clustered with minimum error value using proposed MFCM approach.

3.3 MCS algorithm

CS algorithm was developed by Yang and Deb (2009). CS algorithm uses the following rules (Yang and Deb 2014): (1) every cuckoo lays one egg at a time in a randomly chosen nest from the finite number of host nests. (2) The high quality of egg within the nest will be carried to succeeding iterations. (3) The fresh and better quality solution replaces the nastiest solution in the nest. (4) The available host nest count is fixed, and the host bird finds the cuckoo egg with a probability, \(pa \in [0, 1]\). In this situation, the host bird can decide to throw the cuckoo egg away from the nest or it abandons the nest and builds new nest.

The main objective of RS is to suggest the movies to the user based on the interest of best-optimized user on each cluster obtained from Sect. 3.2. The control parameters needed to find the best optimal solution using PSO algorithm include population size, acceleration constants C1 and C2, inertia weight W and maximum number of iterations. The control parameters used in CS include population size, step size and Levy exponent. The random walk through Levy flight in CS is more efficient in investigating the search space as the contrast with PSO in light of the fact that the step size in CS is very long for more number of iterations. Also, PSO needs larger memory space for critical applications and reaches the regional optimal solution easily. Therefore, the CS optimization algorithm is preferred to explore the efficient solution compared to PSO. Also in CS, the cuckoo solutions are updated when it is moved to the new host.

In order to explore the search space in less number of iterations and also to get a finite number of step size, the Levy exponent function in CS is replaced by novel Gaussian exponent function called as MCS. Before updating the solution space using Gaussian exponent at each iteration, the original population should be stored at each nest as a Local best (Lbest). In MCS, it is necessary to retain the Lbest population in each host and Global best (Gbest) population in each iteration.

The steps proposed for MCS algorithm are given as follows,

Step 1: Initialization phase

The first stage in the CS algorithm is the initialization phase where host nest are initialized randomly, i.e., \(A_l\), where \(l=1, 2, 3, \dots , n\).

Step 2: Generating new cuckoo phase

With the assistance of proposed Gaussian distribution called Levy stable distribution, a cuckoo is chosen arbitrarily to produce novel solutions. Thus, the introduced cuckoo is evaluated by utilizing the fitness function to determine the incredibility of the solutions.

Step 3: Fitness Evaluation Phase

The proposed fitness function is represented in Eq. 8. The fitness value is calculated for every cuckoo in the search space.

$$\begin{aligned} P_{\max }=\frac{Q_\mathrm{s}}{Q_\mathrm{m}} \end{aligned}$$
(8)

where \(P_{\max }\) is the maximum probability fitness function, \(Q_\mathrm{s}\) is the selected population, which is the sum of ratings of user who rated the movie and \(Q_\mathrm{m}\) represents total number of population.

Step 4: Updation phase

In CS, the solution is enhanced by Levy flight function. By evaluating the predominance of the new solution, a nest is picked randomly among them. On the off chance, the new solution in the chosen nest is better and progressive than the earlier solution, and it is re-established by the new cuckoo solution. Else, the previous solution is considered as the finest solution. The Levy flights utilized for the general CS calculation are represented in Eq. 9 and is demonstrated as follows

$$\begin{aligned} f_\mathrm{Levy}^{(l+1)}=f_\mathrm{Levy}^{(l)}+\gamma \oplus \hbox {Levy}(\lambda ),\quad 1<\lambda \le 3 \end{aligned}$$
(9)

where \(\gamma \) represents the step size (\(\gamma > 0\)).

The step size in the Levy flight distribution is not finite. Generalization of the control limit theorem is must due to the independent and identically distributed random variables whose variances are not finite. This generalization is achieved by proposing the Gaussian exponent function, which replaces Levy exponent. The Lbest Cuckoo solution in each host is identified and stored before updating the solution. The generation of new solution using Gaussian exponent is coined in Eq. 10.

$$\begin{aligned} f_\mathrm{Gaussian}^{(l+1)}=f_\mathrm{Gaussian}^{(l)}+\gamma \oplus \sigma _a \end{aligned}$$
(10)

where \(\sigma _a=\sigma _0 \times \exp (-\mu \times C_\mathrm{gen})\), \(\sigma _0, \mu \) are constant, and \(C_\mathrm{gen}\) represents a current generation.

Step 5: Reject worst nest phase

In this phase, the most exceeding and terrible nest stays surreptitious, considering its probability values and subsequently makes new ones. The best solutions are positioned based on their fitness. From this point, the Lbest Cuckoo solution with maximum fitness values in each host is identified and the solutions spaces are explored using step size with Gaussian exponent function. At each iteration, the Lbest fitness value of Cuckoo is compared with a fitness value of Gbest solution obtained from the previous iterations. Then, the final Gbest solution is considered as an optimal solution.

Step 6: Stopping criterion phase

The system is rehashed until it achieves the end criteria. The result from the optimization process was based on the fitness value through which the recommendation is performed. This result helps to recommend the product to the user with improved accuracy.

Table 1 Contingency table for RS

The steps for finding an optimal solution using proposed MCS are given in Algorithm 1.

figure a

3.4 Performance measures

The performance of proposed RS is evaluated using the metrics precision, recall, F-measure and accuracy. These metrics are evaluated based on the entries obtained from Table 1.

The evaluation metrics used in the proposed system are explained next.

3.4.1 Precision

Precision is a percentage of recommended items that are relevant. The formula for precision is given in Eq. 11.

$$\begin{aligned} \textit{Precision} = \frac{\textit{Number} \ \textit{of} \ \textit{correct}\ \textit{recommendation}\ \textit{relevant} \ \textit{to}\ \textit{the}\ \textit{query}}{\textit{Total}\ \textit{number}\ \textit{of}\ \textit{recommendations}} \end{aligned}$$
(11)

3.4.2 Recall

The recall is a percentage of the relevant item that is recommended. The definition for a recall is given in Eq. 12.

$$\begin{aligned} \textit{Recall} = \frac{\textit{Number}\ \textit{of}\ \textit{correct}\ \textit{recommendation}\ \textit{relevant}\ \textit{to}\ \textit{the}\ \textit{query}}{\textit{Total}\ \textit{number}\ \textit{of}\ \textit{relevant}\ \textit{recommendation}} \end{aligned}$$
(12)

3.4.3 F-measure

F-measure is the harmonic mean of precision and recall. It is defined in Eq. 13.

$$\begin{aligned} \textit{F-measure} =\frac{2}{\frac{1}{\textit{Precision}}+\frac{1}{\textit{Recall}}} \end{aligned}$$
(13)

3.4.4 Accuracy

Accuracy measure is used to evaluate how the proposed algorithm recommends an item accurately. It is determined as the proportion of the number of users with correct recommendations and a total number of users considered for recommendation process. Equation 14 shows the formula for calculating accuracy.

$$\begin{aligned} \textit{Accuracy}{=}\frac{\textit{Number of users with correct recommendations}}{\textit{Total}\ \textit{number}\ \textit{of}\ \textit{users}} \end{aligned}$$
(14)
Fig. 2
figure 2

Normalized error value for clustering techniques. a Iris dataset. b Glass dataset. c Diabetes dataset

4 Experimental results and analysis

In this section, the experimental analysis is performed in order to evaluate the performance of proposed RS by comparing the result with existing algorithms. Initially, the dataset is preprocessed as described in Sect. 3.1. Second, these processed datasets are given for clustering process to group similar users together. Third, the optimal users in each group are identified to provide satisfactory recommendations by using optimization algorithm. Finally, the standard benchmark functions are used to test the effectiveness of proposed optimization algorithm.

Benchmark MovieLens dataset was collected (see footnote 1) and used for experimental analysis of RS. The size of dataset is 100K, which includes 100,000 ratings provided by 1000 users for 1700 movies. The rating scale values vary from 1 to 5. In this study, 100 users are chosen randomly for proving the efficiency of proposed algorithm. The experimental analysis is carried out based on the proposed techniques as given in Algorithm 2.

figure b

4.1 Performance analysis of proposed clustering approach

At first, the dataset is collected and preprocessing is done to eliminate the movies which are having the less correlation with other movies. Then, these processed datasets are given to clustering approach. Clustering plays an important role in providing the recommendation with reduced error. In order to prove the proposed MFCM clustering approach that provides less error rate with few number of iteration, the analysis is performed for standard relational dataset, namely Iris, Class, and Diabetes.Footnote 2 The experimentation is done for proposed MFCM to compare with existing FCM method.

Table 2 Control parameters considered for clustering and optimization algorithms
Table 3 Recommendation for different cluster sizes on proposed method
Table 4 Overall F-measure value on different cluster sizes

Figure 2 represents the error value comparison of clustering approaches FCM and proposed MFCM by referring the clustering parameters given in Table 2. The experimentation is conducted for 10 times, and average error values are obtained. The error values are more in initial iterations and getting reduced in further iterations, finally stabilized to the certain error value. The error values are normalized into 0 to 1 scale rating. Figure 2a–c represents the normalized error values of FCM and MFCM clustering for Iris, Glass and Diabetes datasets, respectively. Primary y-axis in Fig. 2 represents the normalized error value of MFCM, whereas the secondary y-axis represents the normalized error value of FCM. In Fig. 2a–c, it is clearly understood the error value of proposed MFCM reduced drastically and converged in earlier iterations than FCM clustering. Therefore, MFCM clustering method is considered as the best clustering method and used for RS to group similar users together with reduced error. So, MFCM is considered to provide well-framed cluster since the objective of RS is focused towards improving the performance by reducing the error rate. As given in Algorithm 2, the MFCM clustering approach is applied to the preprocessed MovieLens dataset and the well-framed clusters are obtained.

Fig. 3
figure 3

F-measure for proposed and existing methods of clustering and optimization algorithms

Fig. 4
figure 4

Fitness value for an optimization algorithms for different population sizes on different iterations. a MCS. b PSO. c CS

4.2 Performance analysis of optimization algorithm

Clusters obtained from Sect. 4.1 are optimized using the proposed MCS optimization algorithm. Based on the obtained optimized user from each cluster, the recommendations are provided. In order to validate the performance of proposed MCS, it is compared with the existing PSO and CS. Table 2 shows the parameters to be considered for optimization of users in each cluster.

The performance of proposed RS framework is measured using various metrics such as precision, recall, F-measure and accuracy. To show the effectiveness of proposed method, it is compared with all combinations of existing clustering approaches k-means and FCM and optimization algorithms such as PSO and CS. The results are listed in tables and graphs to clarify an enhanced understanding of the relationship between various parameters such as the number of clusters, number of iterations and number of populations, which help to study the performance of the proposed approach. The recommendations for different cluster sizes for the MovieLens dataset are given in Table 3.

In Table 3, it is clearly understood that the number of correct recommendation is increasing when the cluster size increases. The recommendation results in Table 3 are used to find the precision and the recall value of the proposed system. A high value of precision indicates fewer users getting the wrong recommendation, and a higher recall value indicates the better recommendation for more users. Using these expressions, the F-measure is calculated for different cluster values under the number of iteration as 100 and 100% of population size. The performance results are listed in Table 4.

Fig. 5
figure 5

F-measure values of optimization algorithms on different iterations

Fig. 6
figure 6

F-measure for optimization algorithms using MFCM clustering approach

Fig. 7
figure 7

Accuracy for proposed and existing methods of clustering and optimization algorithms

Figure 3 shows the overall F-measure of the proposed technique with the combination of existing clustering and optimization algorithms by fixing the number of iteration as 100 and 100% of population size. In Fig. 3, it is observed that the proposed MFCM with MCS combination performs better compared to other combinations of clustering and optimization algorithms. Also, it is inferred that the proposed MFCM clustering yields better performance for all optimization algorithms.

Fig. 8
figure 8

Accuracy for an optimization algorithms for different population sizes on different iterations. a MCS. b PSO. c CS

Because of the random nature of optimization algorithm, the performance of RS cannot be judged by a single run. The experimentation should be conducted many times with the different values for each parameter to obtain good performance value. Also, the experiment analysis should be performed for larger population size to obtain a better result in the global space. Processing the data with larger population size may increase the computational time. With the different trials of experimentation, the parameters should be chosen to increase the performance of an algorithm to reduce computational effort. The performance of proposed system is compared with existing PSO and CS on 25, 50 and 100% of population sizes for iterations 10, 20, 40, 60, 80, and 100 using the fitness function given in Eq. 8.

Figure 4 shows the fitness value of proposed MCS, existing PSO and CS algorithms on varying population sizes and iterations. The MFCM clustering is performed by fixing the number of cluster size as 5. Figure 4a–c shows the changes in the fitness value for varying population sizes for MCS, PSO and CS, respectively. In Fig. 4, it is inferred that all the optimization algorithms perform better when the population size is high. That is, the fitness value is high for population size 100%, and also it is getting increased when the number of iterations is increased. In Fig. 4, it may be concluded that MCS is having highest fitness value than PSO and CS.

Figure 5 represents the F-measure value of optimization algorithms by varying the number of iterations. Here, the MCS is converged within 40 iterations, CS is between 60 and 70 iterations and PSO is between 75 and 80 iterations. In Fig. 5, it is inferred that MCS converged quickly when compared to other optimization algorithms.

The overall F-measure value of the proposed system with PSO and CS algorithm for MFCM clustering approach is shown in Fig. 6. A number of iteration are fixed as 100, and 100% of the population is considered for experimentation. The F-measure for proposed system is 0.86 for cluster size 5, 0.85 and 0.84 for existing PSO and CS, respectively. It is inferred from Fig. 6 that the performance of RS increases with increasing in number of cluster size. In Fig. 6, it is cleared that the overall performance of F-measure value for the proposed system performs better than existing PSO and CS techniques.

Accuracy is an another performance metric that measures the overall performance of RS. The accuracy results for various combinations of proposed and existing clustering and optimization algorithms on various cluster sizes are shown in Fig. 7. For experimentation, the number of iteration is taken as 100 and 100% of the population is considered. In Fig. 7, it is concluded that the combination of proposed MFCM with all optimization algorithm performs better than other combinations. Figure 8 shows the accuracy value of optimization algorithms by varying population sizes. Figure 8a–c shows the change in accuracy on different population sizes for MCS, PSO and CS, respectively. It is inferred from Fig. 8 that the accuracy of the RS is increased when the population size is high. Also, the accuracy is increased for the greater number of iterations.

Fig. 9
figure 9

Accuracy value for optimization algorithms on different iterations

Fig. 10
figure 10

Accuracy of optimization algorithms using MFCM clustering approach

Figure 9 represents the accuracy of optimization algorithms for cluster size of 5 with MFCM clustering and 100% of population size by varying number of iteration. The accuracy value is optimized for proposed MCS at 35 to 40th iterations, existing PSO at 55 to 60th iterations and CS at 75 to 80th iterations. The accuracy of proposed MCS converged earlier with improved value on less number of iterations due to search space exploration by Gaussian exponent, and it performs better than existing PSO and CS.

Figure 10 shows overall accuracy measure for MFCM clustering with existing and proposed optimization algorithms. The proposed method achieves the accuracy value 79.65%, whereas PSO and CS achieve 75.97 and 72.32%, respectively. Figure 10 shows that the overall accuracy is improved for the proposed method than the combination of existing optimization algorithms. It can be concluded that the performance of RS is increasing for increasing number of cluster size, population size and a number of iteration.

Table 5 Performance of standard benchmark functions
Fig. 11
figure 11

Convergences of fitness value. a\(f_1\) function. b\(f_2\) function

Fig. 12
figure 12

Convergences of accuracy. a\(f_1\) function. b\(f_2\) function

4.3 Performance analysis of proposed MCS with benchmark function

The performance of proposed MCS algorithm is tested with well-defined mathematical-based benchmark function. Among several benchmark function (Mernik et al. 2015), Rastrigin and Rosenbrock are used to test the algorithm for identifying global optimum.

Rastrigin is the multimodal function, meaning that it crosses through many local optimal solutions with one global optimal solution. If the search space is large, then the number of local optimal solutions is also more. A nonlinear Rastrigin function is represented by the following Eq. 15.

$$\begin{aligned} f_1(y)=\sum \limits _{l=1}^{n} \left[ y_l^2 - 10 \cos (2 \pi y_l)+10\right] \end{aligned}$$
(15)

Rosenbrock is an unimodal function that has only one global maximum value. Equation 16 represents the Rosenbrock function.

$$\begin{aligned} f_2(y)=\sum \limits _{l=1}^{n-1} \left[ 100\left( y_{l+1}-y_l^2\right) ^2 + (y_l-1)^2\right] \end{aligned}$$
(16)

These two benchmark functions are evaluated to get a global optimum solution. So, these functions are converted to a maximization function in order to support the problem considered for this study. The performance is evaluated based on a number of iteration and efficiency. Efficiency measures the success rate of an algorithm to obtain a global maximum solution in less number of iterations. The performance of proposed algorithm is tested on 100% of population size with 100 iterations and compared with other optimization algorithms PSO and CS. The performance of the algorithm is tested by referring the parameters given in Table 2. The performance result for benchmark functions are obtained by converting the maximization function result back to minimization function.

Table 5 represents the mean fitness value of an optimization algorithm over 100 iterations and number of iterations needed to obtain a global optimum solution for 100% of population size. In Table 5, it is inferred that the proposed MCS attains minimum fitness value and converged with less number of iterations than PSO and CS.

Figure 11 shows the convergence of fitness value on PSO, CS and MCS for the test function \(f_1\) and \(f_2\). Figure 11a, b shows the fitness value of optimization algorithm on different iterations for \(f_1\) and \(f_2\), respectively. In Fig. 11, it is concluded that the fitness value of MCS converged at 80th iteration for \(f_1\) and 70th for \(f_2\). But other optimization algorithm takes longer iteration to reach an optimal value.

Figure 12 shows the convergence of accuracy on PSO, CS and MCS for the test functions \(f_1\) and \(f_2\). Figure 12a, b shows the accuracy of optimization algorithm on different iterations for \(f_1\) and \(f_2\), respectively. In Fig. 12, it is concluded that the 74.6% of accuracy on MCS converged at 80th iteration for \(f_1\) and 73% of accuracy 70th for \(f_2\). But other optimization algorithms take longer iteration to reach an optimal value, and also the obtained accuracy for PSO and CS is less than the MCS.

The experimental analysis of benchmark function shows that the proposed MCS optimization algorithm applied on clustered data points obtained from proposed MFCM clustering performs better than other optimization algorithms.

5 Conclusion

This study proposed a new recommender system (RS) that originates the CF approach. The data points are clustered with minimal error rate using a proposed modified fuzzy c-means (MFCM) clustering approach. Data points in the cluster are further optimized using proposed modified cuckoo search (MCS) algorithm, which achieves the global optimal solution with less number of iterations. Using the benefits of MCS with MFCM, the proposed RS reduces the recommendation error rate drastically and provides an accurate recommendation. The performance of proposed RS is evaluated using MovieLens dataset, and obtained results show effective when compared with popular optimization algorithms. Also, the superiority of proposed MCS algorithm is tested with standard benchmark optimization functions.