Алгоритми за бинарни препоръки

В момента правя проучване за училищна задача. Имам два потока от данни, единият е потребителски оценки, а другият е хронология на търсене, кликвания и поръчки (двоични данни) на уеб магазин.

Открих, че съвместното филтриране е най-доброто семейство от алгоритми, ако използвате данни за оценка. Намерих и проучих тези алгоритми:

Базиран на паметта

  1. базиран на потребителя

    • pearson correlation
    • ограничен Пиърсън
    • векторни прилики (косинус)
    • Средна квадратна разлика
    • претеглен Pearson
    • корелационен праг
    • максимален брой съседи
    • претеглени чрез корелация
    • Нормализация на Z-резултат
  2. базирани на артикули

    • adjusted cosine
    • максимален брой съседи
  3. сливане на подобие

базиран на модел

  1. основана на регресия
  2. наклон едно
  3. lsi/svd
  4. регулиран svd (rsvd/rsvd2/nsvd2/svd++)
  5. базиран на интегриран съсед
  6. клъстерно изглаждане

Сега търся начин да използвам двоичните данни, но ми е трудно да разбера дали е възможно да използвам двоични данни вместо данни за оценка с тези алгоритми или има друго семейство алгоритми, които трябва да използвам гледам към ?

Извинявам се предварително за правописните грешки, тъй като имам дислексия и не съм роден писател. Благодаря marc_s за помощта.


person DutchGuy    schedule 17.09.2015    source източник


Отговори (1)


Разгледайте алгоритмите за извличане на данни, като извличане на правила за асоцииране (известен още като анализ на пазарната кошница). Попаднахте на труден проблем в системите за препоръки: унарните и двоичните данни са често срещани, но най-добрите алгоритми за персонализиране не работят добре с тях. Данните за оценка могат да представляват предпочитание за една двойка потребител-артикул; например, аз оценявам този филм с 4 звезди от 5. Но с двоични данни имаме най-малко подробните данни за оценка: или харесвам, или не харесвам нещо, или съм го консумирал, или не съм го консумирал. Внимавайте да не объркате двоични и унарни данни: унарните данни означават, че имате информация, че даден потребител е консумирал нещо (което е кодирано като 1, подобно на двоичните данни), но нямате информация дали потребителят не е харесал или консумирал нещо (което е кодирано като NULL вместо 0 на двоичните данни). Например, може да знаете, че даден човек е прегледал 10 уеб страници, но нямате представа какво би си помислил той за други страници, ако знаеше, че са налични. Това са унарни данни. Не можете да приемете информация за предпочитания от NULL.

person Dan Jarratt    schedule 21.09.2015