International Journal of Computer Information Systems and Industrial Management Applications. ISSN 2150-7988 Volume 5 (2013) pp. 524-531 © MIR Labs, www.mirlabs.net/ijcisim/index.html Dynamic Publishers, Inc., USA Providing an Effective Collaborative Filtering Algorithm Based on Distance Measures and Neighbors’ Voting Gilda Moradi Dakhel 1 , Mehregan Mahdavi 2 1 Faculty of Electrical, Computer & IT Engineering Azad University, Qazvin Branch, Qazvin, Iran gilda.moradi@gmail.com 2 Department of Computer Science and Engineering University of Guilan, Rasht, Iran mehregan.mahdavi@gmail.com Abstract: A recommender system produces a list of suggestions for users based on their preferences. It is an intelligent system that can help users to come across their interesting items. It is widely used in personalized web systems, social networks, e-commerce and etc. It uses data mining and information filtering techniques. Mostly, recommender systems employ the collaborative filtering algorithm that is one of the most successful techniques. The collaborative filtering creates suggestions for users based on their neighbors’ preferences. This algorithm suffers from its poor accuracy and scalability. This paper represents a new approach to produce a useful recommendation for an active user. It assumes that the users are m (m is the number of users) points in n dimensional space (n is the number of items) and represents a method based on users’ distance. We introduce different distance measures instead of traditional similarity measures. In addition to this, we employ clustering algorithms to improve our recommendations. We use k-means clustering algorithm to categorize users based on their interests. Then our proposed algorithm introduces a new method called voting algorithm to develop a recommendation. It is based on neighbors’ opinion about unknown products of the active user. This idea is similar to what happens in real life. In the real world, if there are a lot of options for us to choose from, we use other’s help and make our choices based on the suggestions of our family and friends who have got the same preferences as us. We evaluate this new idea and the result of our experiments shows that the proposed algorithm is more accurate than the traditional ones; besides it is less time consuming than previous algorithms. Keywords: Recommender system, Collaborative filtering, Data normalization, K-means clustering, Neighbors’ votes. I. Introduction Recommender Systems are techniques to produce suggestions of items for users. The suggestions are various decision-making algorithms, such as what movie to watch, what items to buy, what music to listen to, or what online books to read. “Item” is a general term to denote what the system suggests to users. An RS normally focuses on a specific type of digital libraries (e.g., Libraries of CDs, or movies, books). Recommender Systems typically apply methodologies from Information Retrieval and data mining. Recommender Systems try to predict what the most suitable products or services are, based on the user’s interests [1]. People can share their preferences with recommender systems. A recommender system offers people the most interesting items. They are an intelligent technique to deal with the problem of information overload. They create useful suggestion for customers and make them come across their interesting items. This idea comes from the reality. In the real world if there are a lot of options for us to choose among them, we use other’s help and make our choices based on the suggestions of our family and friends who have got the same preferences as us. If in the virtual world we have a great deal of option, who or what can help us? The best answer is a recommender system. A recommender system works as a friend to suggest interesting items to users. In this paper we use this idea to introduce our new algorithm. In fact, it suggests a few items from many possible choices by detecting their past behaviors. In these systems, the user interests are influenced by the hidden behaviors of the users. Finding the information about user interests is often critical step of producing recommendations. Collaborative filtering based recommender systems; the information about latent user interests is largely underexplored [2]. Recommender systems usually use collaborative filtering algorithms or a combination of the collaborative filtering and the other filtering algorithms. Collaborative filtering is usually focused on exploiting the information about the user's interaction with the systems. It is the most popular used method that matches people with similar tastes and then provides personalized recommendations on this basis. There are two basic entities in this algorithm: User and Item. Items are the objects that are suggested. Items may be characterized by their complexity and their value or utility which utilizes