1

gérer le spark.ml.recommendation als sur étincelle 2.1.0 avec pyspark en utilisant des données-page-visite web. J'ai les données de wikipedia contenant l'identification d'utilisateur, l'identification de page et les comptes. Les données sont composées de 100000 lignes. Voici les spécifications de mes données:Spark ML filtrage collaboratif rétroaction implicite avec des données de type comptage

+-------+------------------+ 
|summary|   user-id| 
+-------+------------------+ 
| count|   100000| 
| mean|  24542.75736| 
| stddev|21848.264794583836| 
| min|     0| 
| max|    68488| 
+-------+------------------+ 

+-------+------------------+ 
|summary|   page-id| 
+-------+------------------+ 
| count|   100000| 
| mean|   257.55426| 
| stddev|265.56649346534084| 
| min|     0| 
| max|    1317| 
+-------+------------------+ 

+-------+------------------+ 
|summary|    cnt| 
+-------+------------------+ 
| count|   100000| 
| mean|   412.4471| 
| stddev|4269.7557065972205| 
| min|    11.0| 
| max|   309268.0| 
+-------+------------------+ 

J'ai divisé mes données 80/20 pour la formation et d'essai, respectivement, et a essayé de courir sur mes données als mais il en résulte avec NaN. Ensuite, j'ai trouvé une solution de contournement et je l'ai fait fonctionner. Après cela, j'ai essayé de calculer rmse sur mes données le résultat est autour de 3000-4000 avec une combinaison de paramètres. J'ai lu des livres, des articles et j'ai regardé quelques tutoriels vidéo à ce sujet, mais beaucoup de choses sont liées à l'ensemble de données movielens qui est basée sur les notes comme je vois et n'offre pas beaucoup pour mon problème . J'ai appris que mon cas est appelé commentaires implicites et seulement l'exemple que j'ai rencontré last.fm exemple sur un livre. Cependant, je n'ai pas pu obtenir beaucoup d'aide.

Alors mes les questions sont:

1) Comment gérer recommandation als sur un ensemble de données qui a une colonne de notation avec une gamme beaucoup plus large que celui MovieLens qui est dans une fourchette comprise entre 1 -5?

mien est ici entre 11 et 309628.

2) Est-RMSE une mesure importante en rétroaction implicite de décider si le modèle est correct ou non?

3) Toute autre recommandation relative à la manipulation de ce type de données, tout en essayant d'exécuter als d'allumage ml sur elle?

Répondre

0

En ce qui concerne votre problème de NaN, avez-vous regardé coldStartStrategy qui a été ajouté à Spark il n'y a pas longtemps? (cf https://github.com/apache/spark/pull/17102)

En ce qui concerne votre problème d'évaluation, RMSE n'est pas une bonne mesure lorsque vous utilisez la SLA avec des commentaires implicites comme vous l'avez découvert.

Dans votre cas, les statistiques de classement sont plus appropriées.Les deux plus courants sont:

Malheureusement, ceux qui ne font pas partie de Spark car ils ne correspondent pas vraiment l'API Evaluator de sorte que vous aurez à les mettre en œuvre vous-même .

+0

Merci pour l'aide. Oui, j'ai entendu parler du coldStartStraregy mais je n'ai pas réussi à l'utiliser dans spark 2.1.0. Pour un problème d'évaluation, je vais envisager de mettre en place des mesures de classement. – dattomatto