RecTools icon indicating copy to clipboard operation
RecTools copied to clipboard

Не работают обертки для ряда моделей

Open Phinnik opened this issue 3 years ago • 1 comments

Ряд оберток моделей (LightFM, Implicit) не работает с float32, им необходим float64

В этой строчке sparse матрица переводится во float32.

Варианты решения:

  • Переводить матрицу взаимодействия в классе Interactions во float64, затем внутри методов _fit моделей переводить в необходимое разрешение.
  • Оставить разрешение полученное классом Interaction и переводить матрицу взаимодействий в необходимый формат внутри методов _fit моделей.
  • Переводить матрицу взаимодействия в классе Interactions во float32, затем внутри методов _fit моделей переводить в необходимое разрешение.

Третий вариант самый не оптимальный, т.к. при преводе np.float64 -> np.float32 -> np.float64 будет происходить "округление"

Могу взять этот тикет и повесить пиар.

Phinnik avatar Dec 13 '22 19:12 Phinnik

@Phinnik а может просто в метод https://github.com/MobileTeleSystems/RecTools/blob/82351c21b9b9c9e0db607f37def8770a682069a8/rectools/dataset/interactions.py#L124 добавить аргумент с dtype, если нужно разное поведение. И в самих моделях в _fit запрашивать нужный через аргумент.

В любом случае будем рады PR

sharthZ23 avatar Dec 16 '22 17:12 sharthZ23