Краб: почему UserBasedRecommender краб так медленно?
Эталоном для крабов является (http://www.slideshare.net/marcelcaraciolo/crab-a-python-framework-for-building-recommender-systems стр. 37)
Тесты Pure Python с Python с Scipy Dataset dicts и NumpyMovieLens 100k 15,32 с 9,56 с http://www.grouplens.org/node/73 Старый краб Новый краб
однако, в моем случае, мне нужно больше 30 минут, я не знаю причину
мой код
model = MatrixPreferenceDataModel(recommend_data.data)
similarity = UserSimilarity(model, pearson_correlation)
recommender = UserBasedRecommender(model, similarity, with_preference=True)
recommender.recommend("6")
мои данные - NumpyMovieLens 100k, который содержит 100 000 оценок от 1000 пользователей по 1700 фильмам.
2 ответа
Краб переделывается. Обработка данных будет более эффективной и менее зависимой от внешних библиотек. Сам API будет упрощен. Мы хотим выпустить стабильную версию в ближайшее время, чтобы сообщество могло участвовать. Цель состоит в том, чтобы создать структуру, чтобы заполнить этот пробел в Python. Проект размещен здесь https://github.com/python-recsys/crab.
Помощь и предложения приветствуются.
Когда я в последний раз смотрел на Crab чуть более года назад, он использовал плотные массивы, в которых он должен был использовать разреженные матрицы (например, scipy.sparse
). Это сделало это ужасно медленным, а также боров памяти. Я только что бросил быстрый взгляд, и кажется, что Краб не обновлялся почти год, так что ситуация, вероятно, все та же.