'Get similarities of the `source_id` to all sources in the model.'

def __getitem__(self, source_id):

    all_sims = self.get_similarities(source_id)
    tops = sorted(all_sims, key=(lambda x: (- x[1])))
    if all_sims:
        (item_ids, preferences) = zip(*all_sims)
        preferences = np.array(preferences).flatten()
        item_ids = np.array(item_ids).flatten()
        sorted_prefs = np.argsort((- preferences))
        tops = zip(item_ids[sorted_prefs], preferences[sorted_prefs])
    return (tops[:self.num_best] if (self.num_best is not None) else tops)
