L'ensemble de données MovieLens fournit une table avec des colonnes:Comment élaguer les données établies par la fréquence pour se conformer à la description du papier
userid | movieid | tag | timestamp
J'ai du mal à reproduire la façon dont ils élagués l'ensemble de données MovieLens utilisées dans:
Tag Informed Collaborative Filtering, by Zhen, Li and Young
Dans 4.1 ensemble de données du document ci-dessus, il écrit « pour les informations de marquage, nous ne gardons que les balises qui sont ajoutés sur au moins 3 films distincts. En ce qui concerne les utilisateurs, nous ne Gardez les utilisateurs qui ont utilisé au moins 3 balises distinctes dans leur historique de balisage . Pour les films, nous ne gardons que les films qui sont annotées par au moins 3 balises distinctes «
J'ai essayé d'interroger la base de données.
select TMP.userid, count(*) as tagnum
from (select distinct T.userid as userid, T.tag as tag from tags T) AS TMP
group by TMP.userid
having tagnum >= 3;
Je suis une liste de 1760 utilisateurs marqué 3 balises distinctes . Cependant, certaines balises ne sont pas ajoutés sur au moins 3 films distincts.
Toute aide est appréciée.
Quel RDBMS utilisez-vous? L'effet est-il censé être cumulatif ou indépendant? par exemple. Si une étiquette est rejetée comme n'étant pas sur au moins 3 films distincts, cette suppression peut-elle affecter le calcul des utilisateurs qui ont utilisé au moins 3 étiquettes distinctes dans leur historique de marquage? (Indépendant semble avoir plus de sens) –
J'utilise MYSQL. Si une étiquette est rejetée comme n'étant pas sur au moins 3 films distincts, je pense que la suppression devrait affecter le calcul des utilisateurs qui ont utilisé au moins 3 étiquettes distinctes dans leur historique de marquage. L'auteur de l'article a reçu une liste de 757 utilisateurs. Si elle est indépendante, vous devriez avoir obtenu 1760 en utilisant la requête SQL que j'ai tapé dans le premier message. –