Recommender systems play a vital role in the marketing of various goods and services. Despite the intensive growth of the theory of recommendation algorithms and a large number of their implementations, many issues remain unresolved; in particular, scalability, quality of recommendations in conditions of sparse data, and cold start. A modified collaborative filtering algorithm based on data clustering with the dynamic determination of the number of clusters and initial centroids has been developed. Data clustering is performed using the k-means method and is applied to group similar users aimed at increase of the quality of the recommendation results. The number of clusters is calculated dynamically using the silhouette method, the determination of the initial centroids is not random, but relies on the number of clusters. This approach increases the performance of the recommender system and increases the accuracy of recommendations since the search for recommendations will be carried out within one cluster where all elements are already similar. Recommendation algorithms are software-implemented for the movie recommendation system. The software implementation of various methods that allow the user to receive a recommendation for a movie meeting their preferences is carried out: a modified algorithm, memory and neighborhood-based collaborative filtering methods. The results obtained for input data of 100, 500 and 2500 users under typical conditions, data sparsity and cold start were analyzed. The modified algorithm shows the best results – from 35 to 80 percent of recommendations that meet the user's expectations. The drop in the quality of recommendations for the modified algorithm is less than 10 per cent when the number of users increases from 100 to 2500, which indicates a good level of scalability of the developed solution. In the case of sparse data (40 percent of information is missing), the quality of recommendations is 60 percent. A low quality (35 percent) of recommendations was obtained in the case of a cold start – this case needs further investigation. Constructed algorithms can be used in rating recommender systems with the ability to calculate averaged scores for certain attributes. The modified recommendation algorithm is not tied to this subject area and can be integrated into other software systems.
[1] Ahuja, R., Chug, A., Gupta, S., Ahuja, P., & Kohli, S. (2020). Classification and Clustering Algorithms of Machine Learning with their Applications. In: Yang, XS., He, XS. (eds) Nature-Inspired Computation in Data Mining and Machine Learning. Studies in Computational Intelligence, 855. Springer, Cham. https://doi.org/10.1007/978-3-030-28553-1_11
[2] Bansal, S., & Baliyan, N. (2019). A Study of Recent Recommender System Techniques. International Journal of Knowledge and Systems Science (IJKSS), 10(2), 13-41. http://doi.org/10.4018/IJKSS.2019040102
[3] Brinton, C., & Chiang, M. (2019). Netflix Recommendation System. Retrieved from: https://www.coursera.org/lecture/networks-illustrated/netflix-recommenda...
[4] Capóa, M., Péreza, A., & Lozano, J. A. (2017). An efficient approximation to the K-means clustering for massive data. Knowledge-Based Systems, 117, 56-69. https://doi.org/10.1016/j.knosys.2016.06.031
[5] Das, J., Mukherjee, P., Majumder, S., & Gupta, Pr. (2014). Clustering-Based Recommender System Using Principles of Voting Theory. Proceedings of 2014 International Conference on Contemporary Computing and Informatics, IC3I 2014. http://doi.org/10.1109/IC3I.2014.7019655
[6] Dinh, D. T., Fujinami, T., & Huynh, V. N. (2019). Estimating the Optimal Number of Clusters in Categorical Data Clustering by Silhouette Coefficient. In: Chen, J., Huynh, V., Nguyen, GN., Tang, X. (Eds) Knowledge and Systems Sciences. KSS 2019. Communications in Computer and Information Science, 1103. Springer, Singapore. https://doi.org/10.1007/978-981-15-1209-4_1
[7] Gope, J., & Jain, S. K. (2017). A survey on solving cold start problem in recommender systems. 2017 International Conference on Computing. Communication and Automation (ICCCA). https://doi.org/10.1109/ ccaa.2017.8229786
[8] Hongzhi, Y., Qinyong, W., Kai, Zh., Zhixu, Li, & Xiaofang, Zh. (2019). Overcoming Data Sparsity in Group Recommendation. IEEE Transactions On Knowledge And Data Engineering, 87-120.
[9] How Netflixs Recommendations System Works. Retrieved from: https://help.netflix.com/uk/node/100639
[10] Huang, Z., Chung, W., & Chen, H. (2003). A Graph Model for E-Commerce Recommender Systems. Journal of the American Society for Information Science & Technology, 3–21. https://doi.org/10.1002/asi.10372
[11] Ko, H., Lee, S., Park, Y., & Choi, A. (2022) A Survey of Recommendation Systems: Recommendation Models, Techniques, and Application Fields. Electronics, 22(11), 141. https://doi.org/10.3390/electronics11010141
[12] Koutrika G. (2018). Modern Recommender Systems: from Computing Matrices to Thinking with Neurons. Proceedings of the Management of Data, 1651–1654. https://doi.org/10.1145/3183713.3197389
[13] Levus, Ye. V., & Polianska, A. O. (2020). Algorithm for developing a complex recommendation through the example of the tourism industry. Scientific Bulletin of UNFU, 30(5), 122–127. https://doi.org/10.36930/40300520
[14] Lika, B., Kolomvatsos, K., & Hadjiefthymiades, St. (2014). Facing the cold start problem in recommender systems. Expert Systems with Applications, 2065–2073. https://doi.org/10.1016/j.eswa.2013.09.005
[15] Lobur, M., Shvarts, M., & Stekh, Y. (2018). Application of recommender systems in the design of complex microsystem devices. International Journal of Advanced Research in Computer Engineering & Technology, 7(9), 709–714.
[16] Lytvyn, V., Vysotska, V., Shatskykh, V., Kohut, I., Petruchenko, O., Dzyubyk, L., Bobrivetc, V., Panasyuk, V., Sachenko, S., & Komar, M. (2019). Design of a recommendation system based on collaborative filtering and machine learning considering personal needs of the user. Eastern-European Journal of Enterprise Technologies, 4(2)(100), 6–28. https://doi.org/10.15587/1729-4061.2019.175507
[17] Miranda, L., Viterbo, J., Bernardini, F. (2020). Towards the Use of Clustering Algorithms in Recommender Systems. AMCIS 2020 Proceedings. 21. Retrieved from: https://aisel.aisnet.org/amcis2020/ai_semantic_for_intelligent_info_systems/ai_semantic_for_intelligent_info_systems/21
[18] Rousseeuw, P. J. (1987). Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics, 20, 53–65. https://doi.org/10.1016/0377-0427(87)90125-7
[19] Schwarz, M., Lobur, M., Stekh, Y. (2017). Analysis of the effectiveness of similarity measures for recommender systems. The experience of designing and application of CAD systems in microelectronics (CADSM): proceedings 14th International conference, 275‑277.
[20] Shutaywi, M., & Kachouie, N. N. (2021). Silhouette Analysis for Performance Evaluation in Machine Learning with Applications to Clustering. Entropy, 23, 759. https://doi.org/10.3390/e23060759
[21] Syakur1, M. A., Khotimah1, B. K., Rochman1, E. M., & Satoto, B. D. (2018). Integration K-Means Clustering Method and Elbow Method For Identification of the Best Customer Profile Cluster. IOP Conference Series Materials Science and Engineering, 2–5. https://doi.org/10.1088/1757-899X/336/1/012017
[22] Zhang, Q., Lu, J., & Jin, Y. (2021). Artificial intelligence in recommender systems. Complex Intell. Syst., 7, 439–457. https://doi.org/10.1007/s40747-020-00212-w