Je suis débutant dans python j ai un tp difficile c la première fois que j utilise python j aimerai avoir un peut d aide pour comprendre et résoudre le tp
Je suis débutant dans python j ai un tp difficile c la première fois que j utilise python j aimerai avoir un peut d aide pour comprendre et résoudre le tp
Juste pour être sûr : on doit deviner l'énoncé de votre tp et faire le code à votre place ?
Non je pourrai envoyer l énoncé dit moi juste comment je procède j ai envie d apprendre j ai pas le choix mais je savais pas d ou je commence c un peut compliqué
Publiez ici le contenu de l'énoncé, c'est ainsi que l'on pratique habituellement.
Pas de fichiers en pièces jointes.
Et si vous avez déjà du code, n'hésite pas à le poster également entre balises # (voir ma signature).
Partie 1
Si vous utilisez Netflix, vous remarquerez qu’il existe une section intitul´ee ‘Parce
que vous avez regard´e le film x’, qui fournit des recommandations de films bas´ees
sur les films les plus r´ecents que vous avez regard´e. Dans cette premi`ere partie,
nous allons g´en´erer des recommandations `a l’aide d’une technique appel´ee filtrage
collaboratif.
5.1 Description du jeu de donn´ees
Le jeu de donn´ees est form´e par deux fichiers csv (‘films.csv’, ‘notes.csv’).
Le premier fichier ‘films.csv’ contient trois colonnes:
• IdFilm (identifiant num´erique du film): Discret
• Titre (titre du film): Chaine de caract`eres
• Genre (genre du film) : Nominal
Le deuxi`eme fichier °notes.csv’ contient quatres colonnes:
• IdUtilisateur (identifiant num´erique de l’utilisateur x): Discret
• IdFilm (identifiant num´erique du film y): Discret
• Note (la note donn´ee par un utilisateur x `a un film y) : Discr`ete
• Horodatage (une date et une heure associ´ee `a un film y regard´e par un
utilisateur x) : Continu
5.2 Exploration des donn´ees (3pts)
1. Quel est le nombre de notes donn´ees par tous les utilisateurs ?
2. Quel est le nombre d’utilisateurs ? Quel est le nombre de films ?
3. Quel est le nombre moyen de notes par utilisateur ?
4. Quel est le nombre moyen de notes par film ?
5. Quel film a la note moyenne la plus basse?
6. Quel film a la note moyenne la plus ´elev´ee ?
5.3 Transformation des donn´ees (3pts)
La premi`ere ´etape pour construire un filtre collaboratif consiste `a extraire `a
partir du fichier ‘notes.csv’ une matrice utilisateur-film. Les lignes de cette
matrice repr´esentent les utilisateurs et les colonnes rep´esentent les films. Pour
un utilisateur x et un film y, la case situ´ee dans l’intersection de la ligne x et
la colonne y d´esigne la note attribu´ee par l’utilisateur x au film y. La matrice
utilisateur-film est une matrice creuse (on attribue la valeur z´ero pour les cases
`a valeurs manquantes).
1. Filtrez les utilisateurs qui ont vot´es moins de 100 films et les films qui
sont vot´es par moins de 10 utilisateurs? Remarque: vous pouvez utiliser
pandas.DataFrame.groupby(). Dans la suite, on utilisera uniquement la
matrice filtr´ee.
2. Construisez la matrice utilisateur-film? Remarque: vous pouvez utiliser
la m´ethode pandas.DataFrame.pivot().
3. Calculez le taux de parcimonie de la matrice utilisateur-film en utilisant la
formule 1?
S =
A
B
(1)
A : nombre d’´el´ements non nuls dans la matrice utilisateur-film. B : nombre
total d’´el´ements dans la matrice utilisateur-film.
5.4 Filtrage collaboratif (4pts)
La factorisation SVD de la matrice utilisateur-film permet de d´ecouvrir des
caract´eristiques latentes d´ecrivant les interactions entre les utilisateurs et les
films. Ces caract´eristiques offrent une repr´esentation plus compacte des goˆuts
des utilisateurs et des cat´egories de films. Pr´ecis´ement, la factorisation SVD
donne:
• U: matrice qui sp´ecifie les goˆuts des utilisateurs (nombre d’utilisateurs, k).
• Σ: matrice carr´ee et diagonale qui sp´ecifie l’importance des caract´eristiques
latentes (k, k).
• V : matrice qui sp´ecifie les genres de films (nombre de films, k).
G´en´eralemet, lorsqu’un utilisateur choisit un film, le syst`eme de recommandation
lui montre quelques films similaires en fonction de la distance cosinus sur
la matrice V .
1. Appliquez SVD sur la matrice utilisateur-film pour r´eduire la dimension de
cette matrice `a une dimension plus faible associ´ee aux ‘goˆuts des utilisateurs
/ genres de films” les plus pertinents? Remarque: vous devez conserver
les k valeurs singuli`eres les plus grandes avec k entre 5 et 20.
2. Cherchez les 5 films les plus similaires au premier film ? Remarque: vous
devez utiliser la fonction scipy.spatial.distance.cosine sur les lignes de la
matrice V (apr`es la r´eduction de la dimension).
3. Affichez les films recommend´es pour le premier utilisateur? Remarque:
vous devez afficher l’identifiant de chaque film recommand´e, son titre et
son genre. Il ne faut pas inclure les films que l’utilisateur a d´ej`a regard´es.
6 Partie 2
6.1 Description du jeu de donn´ees
Le jeu de donn´ees ‘salaires.csv’ contient des informations sur les salaires annuels
de personnes de 42 pays diff´erents, mais la majorit´e (90 %) provient des ´Etats-
Unis. Le deuxi`eme dans cette cat´egorie est le Mexique `a 2%, ne laissant que
8% pour les 40 autres pays. Il y a environ 32 561 entr´ees avec un total de 12
colonnes repr´esentant diff´erents attributs des personnes. Voici la liste:
• ˆ Age : Discret
• Classe de travail (Priv´e, Gouvernement f´ed´eral, etc): Nominal
• ´ Education (le plus haut niveau d’´education obtenu) : Ordinal (
• Num´ero d’´education (le nombre d’ann´ees d’´etudes): Discret
Partie 2
6.1 Description du jeu de donn´ees
Le jeu de donn´ees ‘salaires.csv’ contient des informations sur les salaires annuels
de personnes de 42 pays diff´erents, mais la majorit´e (90 %) provient des ´Etats-
Unis. Le deuxi`eme dans cette cat´egorie est le Mexique `a 2%, ne laissant que
8% pour les 40 autres pays. Il y a environ 32 561 entr´ees avec un total de 12
colonnes repr´esentant diff´erents attributs des personnes. Voici la liste:
• ˆ Age : Discret
• Classe de travail (Priv´e, Gouvernement f´ed´eral, etc): Nominal
• ´ Education (le plus haut niveau d’´education obtenu) : Ordinal (
• Num´ero d’´education (le nombre d’ann´ees d’´etudes): Discret
Etat civil : Nominal
• Occupation (Transport-D´em´enagement, Artisanat-R´eparation, etc) : Nominal
• Lien de parent´e (c´elibataire, hors famille, etc.) : Nominal
• Race: Nominal
• Sexe : Nominal (2 cat´egories)
• Heures (travaill´ees) par semaine : Discr`ete
• Pays d’origine : Nominal
• Revenu: bool´een (≤ 50 000 ,> 50 000 )
Remarque: Les colonnes repr´esentant des valeurs non num´eriques, notamment
la derni`ere colonne repr´esentant les salaires, peuvent ˆetre encod´ees en
valeurs num´eriques lorsque n´ecessaire pour faciliter les analyses.
6.2 Exploration des donn´ees (3pts)
1. Quel est la taille du jeu de donn´ees ?
2. Combien de valeurs manquantes y a-t-il pour chaque colonne ? Quelle est
la colonne (feature) qui a le plus de valeurs manquantes ?
3. Combien d’hommes y a-t-il dans ce jeu de donn´ees ?
4. Quel est l’ˆage le plus ´elev´e et le plus bas de ce jeu de donn´ees ?
5. Combien de femmes travaillent dans le secteur priv´e?
6. Quelle est la liste des diff´erents pays repr´esent´es dans la colonne repr´esentant
Pour les questions de cette partie, nous allons uniquement travailler avec une
petite partie des donn´ees : les femmes du jeu de donn´ees. Vous allez garder le
1/10 des donn´ees pour les tests.
1. Peut-on pr´edire l’ˆage d’une personne (femme) en fonction de son niveau
d’´education et son nombre d’heures travaill´ees par semaine ? Vous devez
passer par la technique de r´esolution d’´equations lin´eaires par la factorisation
QR. Vous devez tester votre mod`ele sur les donn´ees de tests.
2. Si le niveau d’´education et le nombre d’heures travaill´ees ´etaient r´eduits `a
1 seule dimension qui capture les informations importantes des 2 (SVD) ?
est-ce que la pr´ediction serait am´elior´ee ou pas ? Vous devez tester votre
mod`ele sur les donn´ees de tests.
Peut-on pr´edire si le salaire d’une femme sera ≤ 50K en fonction de son
niveau d’´education, son ˆage et son nombre d’heures travaill´ees par semaine
? Vous devez passer par la technique de r´esolution d’´equations lin´eaires.
Remarque : puisque le Y `a pr´edire est binaire alors ce n’est normalement
pas un probl`eme de r´egression lin´eaire. Vous devez donc adapter votre
solution en cons´equence. Par exemple, si la pr´ediction est inf´erieure `a 0,5
alors le salaire est ≤ 50k sinon c’est > 50k. Vous devez tester votre mod`ele
sur les donn´ees de tests.
6.4 Analyses statistiques et probabilistes (12pts)
1. Quelle est la moyenne des ˆages ? Quelle est la moyenne du nombre d’heures
travaill´ees par semaine ? et les valeurs m´edianes ?
2. Quelle sont les ˆages (prendre les 5 premiers) les plus repr´esentatifs de ce
jeu de donn´ees ? Repr´esentent-ils une tranche d’ˆage en particulier (ex:
30-35 ans) ?
3. Comment est la variance (`a quel point les donn´ees sont ´eparpill´es/dispers´ees)
des heures travaill´ees par semaine ? Et les ˆages ?
4. Est ce que le niveau d’´education, compar´e `a l’ˆage influe le plus sur la valeur
du salaire ? En d’autres termes est que le niveau d’´education a plus de
poids sur le salaire que l’ˆage ?
5. Est ce que le niveau d’´education, compar´e au nombre d’heures travaill´e
par semaine influe le plus sur la valeur du salaire ? En d’autres termes
est que le niveau d’´education a plus de poids sur le salaire que le nombre
d’heures travaill´ees par semaine ?
6. `A quel point l’ˆage est un facteur qui influe le salaire? Pour r´epondre `a
cette question vous devez v´erifier que l’ˆage moyen de ceux qui gagne moins
de 50k est plus bas que ceux qui gagnent plus de 50k.
7. `A quel point le nombre d’heures travaill´e par semaine est un facteur qui
influe le salaire? Pour r´epondre `a cette question vous devez v´erifier que le
nombre moyen d’heure travaill´e par semaine pour ceux qui gagnent moins
de 50k est plus bas que ceux qui gagnent plus de 50k.
8. Est ce qu’il y a une diff´erence de salaire entre les personnes mari´ees et les
personnes c´elibataires ? Quel groupe gagne le mieux leurs vies ?
9. Quelle est la proportion des hommes qui ont un doctorat et gagnent plus
de 50k ? et chez les femmes ?
10. Quelle est la proportion des femmes mari´ees qui n’ont pas fait de masters
ni de doctorat ? et chez les hommes ?
11. Les ressortissants de quel pays ont les salaires les plus ´elev´es uniquement
dans notre ´echantillon?
12. Quelle race a les salaires les plus ´elev´es uniquement dans notre ´echantillon?
6.5 Tests d’hypoth`eses (5pts)
Pour ces questions, vous devez utiliser les t-tests.
1. Est-ce qu’on peut dire que la moyenne d’heures travaill´ees par semaine est
autour de 40h/semaine ? Est-ce que l’affirmer serait significatif ?
2. Est ce que les hommes ont en moyenne un salaire sup´erieur `a 50k compar´e
aux femmes ? est-ce significatif ?
3. Est ce qu’il y a un lien quelconque entre l’ˆage et le nombre d’heures travaill´e
par semaine ? est-ce significatif ?
Salut,
Et vous avez fait quoi? Parce que quelque part si vous n'y connaissez rien à Python rendre le boulot fait par d'autres soignera l'aspect "note" mais vous n'aurez pas progressé pour autant (et quelque part, si vous ne voulez pas prendre le temps d'ouvrir un tuto. pour apprendre...)
- W
import numpy as np
import matplotlib.pyplot as plt
from google.colab import files
import io
import pandas as pd
data = files.upload()
pour importer la base
df = pd.read_csv(io.StringIO(data['notes.csv'].decode('utf-8')))
et apres j aiessaye de repondre a les question j ai fai des recherche j ai essaye qlq commande dans la partie 1:
df.head
pour repondre a qst 1 et 2 et3 j ai fait
df['Note'].describe()
df['Note'].sum() ca c pour repondre a le nombre de note je sais pas est ce que c la bonnne commande ou nn et pour 2 et 3 j fait la mm chose df['IdFilm'].describe() df['IdFilm'].sum()
df['IdUtilisateur'].describe() df['IdUtilisateur'].sum() et je me suis arrive pour calculer moyenne et j ai pas encore trouve comment faire
Partager