RecTools
RecTools copied to clipboard
Не работают обертки для ряда моделей
Ряд оберток моделей (LightFM, Implicit) не работает с float32, им необходим float64
В этой строчке sparse матрица переводится во float32.
Варианты решения:
- Переводить матрицу взаимодействия в классе Interactions во float64, затем внутри методов _fit моделей переводить в необходимое разрешение.
- Оставить разрешение полученное классом Interaction и переводить матрицу взаимодействий в необходимый формат внутри методов _fit моделей.
- Переводить матрицу взаимодействия в классе Interactions во float32, затем внутри методов _fit моделей переводить в необходимое разрешение.
Третий вариант самый не оптимальный, т.к. при преводе np.float64 -> np.float32 -> np.float64 будет происходить "округление"
Могу взять этот тикет и повесить пиар.
@Phinnik а может просто в метод https://github.com/MobileTeleSystems/RecTools/blob/82351c21b9b9c9e0db607f37def8770a682069a8/rectools/dataset/interactions.py#L124
добавить аргумент с dtype, если нужно разное поведение. И в самих моделях в _fit запрашивать нужный через аргумент.
В любом случае будем рады PR