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