{
  "fetched_at": "2026-10-19T17:24:44Z",
  "source_url": "https://www.kaggle.com/competitions/amrocha/data",
  "pages": [
    {
      "name": "data-description",
      "content": "Ce fichier .zip contient l'énoncé du projet, quelques références utiles, ainsi que les données en format \n\n## Matlab\n\n*   **inputX.mat** - contient une matrice creuse (X) où les entrées non nulles sont les entrées données. \n*   **inputEval.mat** - contient la liste des entrées de X à prédire, aux positions (Eval(i,1), Eval(i,2)) pour i=1,2,...,200041. \n\net en format \n\n## csv\n\n*   **ratings_given.csv** - les entrées de la matrices qui sont données sous format (j,k,eval(j,k)) où eval(j,k) est l'évaluation de l'utilisateur k pour le film j. \n*   **ratings_test_eval.csv** - contient (i,j,k) où i=1,2,...,200041 et (j,k) sont les positions des entrées à prédire. \n\n\nIl contient également \n- un exemple de prédiction: sol\\_all\\_means.csv où toutes les entrées sont prédites avec la moyenne. \n- la liste des films (movies.dat) et des propriétés des utilisateurs (users.dat). ",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "Afin de satisfaire leurs consommateurs, les entreprises sont amenées de plus en plus souvent à tenter de prédire les préférences de leurs utilisateurs. Un bel exemple est celui de la plateforme de location de vidéos qui souhaite prédire, pour chacun de ses utilisateurs, quels sont les films les plus susceptibles de lui plaire. Pour cela, la firme peut demander à chaque utilisateur de remplir un questionnaire sur ses goûts cinématographiques, et ensuite comparer ces goûts avec les caractéristiques des films de son catalogue (drame, comédie, horreur, catastrophe, documentaire...). Cette approche suppose de disposer de ces caractéristiques et, ce qui est moins réaliste, de la bonne volonté des utilisateurs pour remplir ledit questionnaire. Cette approche s'appelle le *content filtering*. \n\nUne approche plus naturelle pour les utilisateurs est de leur proposer d'attribuer une note aux films qu'ils visionnent. Il s'agit alors pour la plateforme de tirer parti de cette masse de données pour en déduire des recommandations pertinentes. Votre défi est de proposer des solutions algorithmiques qui accomplissent cette tâche. Cette approche s'appelle le *collaborative filtering*.  Dans ce projet, on se concentrera sur les approches basée sur la factorisation matricielle. \n\nVoir par exemple: \n- https://www.youtube.com/watch?v=n3RKsY2H-NE&ab_channel=ArtoftheProblem  pour une introduction assez haut niveau, et \n- https://www.youtube.com/watch?v=giIXNoiqO_U&list=PL3ZVX5cUMdLbiFgitZszhnMUZHDDEL0rS (Lectures 16.x) pour une introduction plus détaillée. ",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "La métrique d'évaluation pour ce travail est le root mean square error (RMSE), défini comme suit  \n<p></p>\n<p>\n\\[ \nRMSE = \\sqrt{ \\frac{1}{n} \\sum_{i=1}^n ( rating(i) - prediction(i) )^2}, \n\\]\n</p><p>\n</p> \noù rating contient les vrais évaluations inconnues et prediction est votre prédiction. \nEtant donné que les rating sont entre 1 et 5 (étoiles), le RMSE devrait se trouver aux alentours de 1 (erreur moyenne de 1 étoile). En effet, en utilisant la moyenne pour prédire toutes les entrées, on arrive à un RMSE=1.116 (sur le test set). \n\nPour la phase d'entrainement de votre approche, Kaggle vous renvoie pour chaque soumission la RMSE pour un sous-ensemble des données manquantes (contenant 50% du total). L'évaluation finale se fera sur le sous-ensemble complémentaire. ",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "This is a page where you can include rules that participants must accept before joining. You may wish to include rules like:\n\n - Don't cheat!\n - Apply yourself!\n - Have fun!\n\nEt bon travail! ",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}