lyst / lyst/lightfm

User/Item feature selection

Open
#596 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
5.1k
Forks
724
PR merge metrics
No merged PRs in 30d

Description

Hi,

I'm learning more about Recommender models and LightFM and I've a question.
Is there a recommended way/guidelines around how to perform feature selection for User/ Item features for use in LightFM or is it completely based on trial and error?

Does it make sense to add diverse features by using correlation to exclude lower ranked variable in case a pair of features is highly correlated?
My question has reference to some of the other issues where adding uninformative features reduced LightFM model's performance. However I'm not sure how to identify uninformative features in this case?
See Macie's response to related issue 551 below:

> The implementation isn't broken.
>
> It is, however, very simple: the model simply averages the embeddings of all the features it is given. Because of the averaging, the model is incapable of figuring out which features are uninformative and ignoring them.
>
> Consequently, if you add lots of uninformative features they will degrade your model by diluting the information provided by your good features. To prevent this, you may have to adopt more sophisticated models whose implementations are not offered by LightFM.
>
> Note also that metadata features are likely to improve performance only on very sparse datasets, or sparse (long tail, cold-start) subsets of your data."

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by reviewing LightFM's feature construction and model documentation alongside related issue 551; done would require a decided, documented guideline for selecting user and item features, including how to assess uninformative or correlated features.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation, machine-learning
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.