===== Analyse des données =====
[[pedagogie:analyse-data|Cours]]
==== TD1 ====
[[pedagogie:rec:TD1|énoncé]]
[[pedagogie:rec:TD1b|énoncé]]
===== Filtrage collaboratif : ressources web =====
Données :
http://grouplens.org/datasets/movielens/
cours :
http://acsweb.ucsd.edu/~dklim/mf_presentation.pdf
http://clgiles.ist.psu.edu/IST441/materials/powerpoint/RC-week10/Tutorial_IJCAI_2013-modified.pptx
===== Travaux dirigés =====
Ces travaux dirigés sont des "notebooks" fonctionnant sur l'interpréteur "jupyter". Les notebooks
permettent d'écrire et d'exécuter des scripts python à l'aide d'un simple navigateur web.
Les résultats d'exécution sont conservés et peuvent être retrouvés d'une session à l'autre.
Téléchargez les fichiers ''.ipynb'' dans un dossier. Ouvrez un terminal dans ce même dossier et tapez :
jupyter-notebook
Ceci ouvre un onglet de l'interpréteur jupyter dans votre navigateur. Cliquez ensuite sur le notebook sur lequel vous souhaitez travailler.
Pour utiliser un notebook, voir :
* {{http://nbviewer.jupyter.org/github/jupyter/notebook/blob/master/docs/source/examples/Notebook/What%20is%20the%20Jupyter%20Notebook.ipynb|1. What is the Jupyter notebook?}}
* {{http://nbviewer.jupyter.org/github/jupyter/notebook/blob/master/docs/source/examples/Notebook/Notebook%20Basics.ipynb|2. Notebook basics}}
* {{http://nbviewer.jupyter.org/github/jupyter/notebook/blob/master/docs/source/examples/Notebook/Running%20Code.ipynb|3. Running code}}
* {{http://nbviewer.jupyter.org/github/jupyter/notebook/blob/master/docs/source/examples/Notebook/Working%20With%20Markdown%20Cells.ipynb|4. Working with Markdown cells}}
----
* {{https://www.youtube.com/embed/lmoNmY-cmSI|Une vidéo en anglais}}
=== La librairie numpy ====
Les exercices et problèmes seront réalisés à l'aide des librairies scientifiques de Python: {{http://docs.scipy.org/doc/numpy/reference|numpy}}, {{http://docs.scipy.org/doc/scipy/reference|scipy}} et {{http://matplotlib.org/gallery.html|matplotlib}}. Le lien suivant propose une introduction à la librairie numpy (manipulation de matrices et de vecteurs en Python) :
* {{https://forge.centrale-marseille.fr/attachments/download/302/Tutoriel%20numpy.ipynb|Tutoriel Numpy}} (rapide) {{https://nbviewer.jupyter.org/urls/forge.centrale-marseille.fr/attachments/download/302/Tutoriel%20numpy.ipynb|Tutoriel Numpy (nbviewer)}}
* {{https://forge.centrale-marseille.fr/attachments/download/263/Aide-m%C3%A9moire%20Numpy.ipynb|Aide-mémoire Numpy}} {{https://nbviewer.jupyter.org/urls/forge.centrale-marseille.fr/attachments/download/263/Aide-m%C3%A9moire%20Numpy.ipynb||Aide-mémoire Numpy (nbviewer)}}
* {{https://openclassrooms.com/courses/la-programmation-scientifique-avec-python|Python scientifique}} (plus détaillé)
----
* **Matrices creuses** :
* {{https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.sparse.coo_matrix.html|Format COO}}
* {{https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.sparse.csr_matrix.html|Format CSR}}
=== La librairie scikit-learn ====
* {{http://scikit-learn.org/stable/documentation.html|Documentation}}
* {{http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html|Flow Chart}}
* {{http://scikit-learn.org/stable/tutorial/basic/tutorial.html|An introduction to machine learning with scikit-learn}}
* {{http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html|Working With Text Data}}
==== TD2 ====
Téléchargez le fichier suivant :
* {{http://edauce.perso.centrale-marseille.fr/visible/S9-dataAna-TD4.ipynb|Enoncé du TD2 (notebook)}}
* {{https://nbviewer.jupyter.org/urls/edauce.perso.centrale-marseille.fr/visible/S9-dataAna-TD4.ipynb|Enoncé du TD2 (nbviewer)}}
==== TD3 ====
Filtrage collaboratif sur la base "MovieLens"
Téléchargez le fichier suivant :
* {{http://edauce.perso.centrale-marseille.fr/visible/S9-dataAna-TD6.ipynb|Enoncé du TD3 (notebook)}}
* {{https://nbviewer.jupyter.org/urls/edauce.perso.centrale-marseille.fr/visible/S9-dataAna-TD6.ipynb|Enoncé du TD3 (nbviewer)}}
==== TD4 ====
Le but de ce TD est de développer un moteur de recherche dans une base de textes. Nous utilisons une base constitués d'un peu plus de 11.000 messages postés sur des forums de discussion (anglophones), fréquemment utilisée en analyse des données.
Il s'agit de la base {{http://scikit-learn.org/stable/datasets/twenty_newsgroups.html|20newsgroups}}.
Le TD est constitué de plusieurs exercices ainsi que d'un problème. Les principales opérations sont réalisées à l'aide de la librairie {{http://scikit-learn.org/stable/index.html|scikit-learn}}.
* indexation des fichiers et des termes
* génération une matrice creuse comptant les fréquences d'occurrence des termes
* vectorisation des messages et des requêtes
* fichier inverse
* calcul de similarité et tri de la liste des réponses
{{https://forge.centrale-marseille.fr/attachments/download/265/S9-TP1.ipynb|Enoncé du TD1 (notebook)}}
{{https://nbviewer.jupyter.org/urls/forge.centrale-marseille.fr/attachments/download/265/S9-TP1.ipynb|Enoncé du TD1 (nbviewer)}}