The disclosed system provides an improved collaborative filtering system by utilizing a belief network, which is sometimes known as a Bayesian network. The disclosed system learns a belief network using both prior knowledge obtained from an expert in a given field of decision making and a database containing empirical data obtained from many people. The empirical data contains attributes of users as well as their preferences in the field of decision making. After initially learning the belief network, the belief network is relearned at various intervals when additional attributes are identified as having a causal effect on the preferences and data for these additional attributes can be gathered. This relearning allows the belief network to improve its accuracy at predicting preferences of a user. Upon each iteration of relearning, a cluster model is automatically generated that best predicts the data in the database. After relearning the belief network a number of times, the belief network is used to predict the preferences of a user using probabilistic inference. In performing probabilistic inference, the known attributes of a user are received and the belief network is accessed to determine the probability of the unknown preferences of the user given the known attributes. Based on these probabilities, the preference most likely to be desired by the user can be predicted.