public int predict(){
		Integer[] user_ratings = user_rated_movie.user_ratings(user);

		ArrayList<Double> similarity = new ArrayList<Double>();
		ArrayList<Integer> ratings = new ArrayList<Integer>();
		for(int i = 0; i < user_ratings.length; i++){
			if(user_ratings[i] != 0){
			    item_based_cf ibc = new item_based_cf(i + 1, movie);
			    double sim = ibc.pearson_sim();
			    similarity.add(sim);
			    ratings.add(user_ratings[i]);
			}
		}
		System.out.println("Finish computing similarities!");
		
		double upper = 0, lower = 0;
		for(int i = 0; i < ratings.size(); i++){
			upper += similarity.get(i) * ratings.get(i);
			lower += Math.abs(similarity.get(i));
		}
		int predict_data = (int) (upper / lower);
		System.out.println("prediction: " + predict_data);
		return predict_data;
	}