Modifs
This commit is contained in:
		
							
								
								
									
										110
									
								
								EXO3/README.md
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								EXO3/README.md
									
									
									
									
									
								
							@@ -146,60 +146,102 @@ boxplot(csvDouble(:,7),"orientation","horizontal")
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
> Refaire la question précédente, en distinguant les genres. Tracez une boîte à moustache pour chaque genre. Commentaires ?
 | 
					> Refaire la question précédente, en distinguant les genres. Tracez une boîte à moustache pour chaque genre. Commentaires ?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**[Script Scilab](scripts/q4.sce) :**
 | 
					**[Script Scilab - Autres](scripts/q4-autres.sce) :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```scilab
 | 
					```scilab
 | 
				
			||||||
MARCO ???
 | 
					id_other = find(csvString(:,3) == "Other" )
 | 
				
			||||||
MARCO ???
 | 
					salaire_other = csvDouble(id_other,7)
 | 
				
			||||||
MARCO ???
 | 
					mean(salaire_other)        //moyenne
 | 
				
			||||||
MARCO ???
 | 
					min(salaire_other)         //min
 | 
				
			||||||
MARCO ???
 | 
					max(salaire_other)         //max
 | 
				
			||||||
MARCO ???
 | 
					median(salaire_other)      //médianne
 | 
				
			||||||
 | 
					quart(salaire_other)       //quartile
 | 
				
			||||||
 | 
					iqr(salaire_other)         //interquartile
 | 
				
			||||||
 | 
					stdev(salaire_other)       //ecart-type
 | 
				
			||||||
 | 
					sal = tabul(salaire_other);
 | 
				
			||||||
 | 
					[occurence_tri,indice_tri] = gsort(sal(:,2));
 | 
				
			||||||
 | 
					liste_sal = sal(:,1);
 | 
				
			||||||
 | 
					mode = liste_sal(indice_tri(1))        //mode
 | 
				
			||||||
 | 
					boxplot(salaire_female,"orientation","horizontal")
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**[Script Scilab - Femmes](scripts/q4-femme.sce) :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MARCO ???
 | 
					```scilab
 | 
				
			||||||
MARCO ???MARCO ???MARCO ???
 | 
					id_female = find(csvString(:,3) == "Female" )
 | 
				
			||||||
MARCO ???
 | 
					salaire_female = csvDouble(id_female,7)
 | 
				
			||||||
MARCO ???
 | 
					mean(salaire_female)        //moyenne
 | 
				
			||||||
MARCO ???
 | 
					min(salaire_female)         //min
 | 
				
			||||||
 | 
					max(salaire_female)         //max
 | 
				
			||||||
 | 
					median(salaire_female)      //médianne
 | 
				
			||||||
 | 
					quart(salaire_female)       //quartile
 | 
				
			||||||
 | 
					iqr(salaire_female)         //interquartile
 | 
				
			||||||
 | 
					stdev(salaire_female)       //ecart-type
 | 
				
			||||||
 | 
					sal = tabul(salaire_female);
 | 
				
			||||||
 | 
					[occurence_tri,indice_tri] = gsort(sal(:,2));
 | 
				
			||||||
 | 
					liste_sal = sal(:,1);
 | 
				
			||||||
 | 
					mode = liste_sal(indice_tri(1))        //mode
 | 
				
			||||||
 | 
					boxplot(salaire_female,"orientation","horizontal")
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**[Script Scilab - Hommes](scripts/q4-homme.sce) :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```scilab
 | 
				
			||||||
 | 
					id_male = find(csvString(:,3) == "Male" )
 | 
				
			||||||
 | 
					salaire_male = csvDouble(id_male,7)
 | 
				
			||||||
 | 
					mean(salaire_male)        //moyenne
 | 
				
			||||||
 | 
					min(salaire_male)         //min
 | 
				
			||||||
 | 
					max(salaire_male)         //max
 | 
				
			||||||
 | 
					median(salaire_male)      //médianne
 | 
				
			||||||
 | 
					quart(salaire_male)       //quartile
 | 
				
			||||||
 | 
					iqr(salaire_male)         //interquartile
 | 
				
			||||||
 | 
					stdev(salaire_male)       //ecart-type
 | 
				
			||||||
 | 
					sal = tabul(salaire_male);
 | 
				
			||||||
 | 
					[occurence_tri,indice_tri] = gsort(sal(:,2));
 | 
				
			||||||
 | 
					liste_sal = sal(:,1);
 | 
				
			||||||
 | 
					mode = liste_sal(indice_tri(1))        //mode
 | 
				
			||||||
 | 
					boxplot(salaire_male,"orientation","horizontal")
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**Résultat :**
 | 
					**Résultat :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Hommes :
 | 
					- Hommes :
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - Quartiles : [Q1, Q2 (médiane), Q3] = [..., ..., ...]
 | 
					    - Quartiles : [Q1, Q2 (médiane), Q3] = [75000, 120000, 170000]
 | 
				
			||||||
    - Interquartile Range (IQR) : QH(3) - QH(1) = ...
 | 
					    - Interquartile Range (IQR) : QH(3) - QH(1) = 95000
 | 
				
			||||||
    - Minimum : ...
 | 
					    - Minimum : 350
 | 
				
			||||||
    - Maximum : ...
 | 
					    - Maximum : 250000
 | 
				
			||||||
    - Moyenne : ...
 | 
					    - Moyenne : 121389.87
 | 
				
			||||||
    - Médiane : ...
 | 
					    - Médiane : 120000
 | 
				
			||||||
    - Écart-type : ...
 | 
					    - Écart-type : 52092.726
 | 
				
			||||||
 | 
					    - Mode : 140000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Femmes :
 | 
					- Femmes :
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - Quartiles : [Q1, Q2 (médiane), Q3] = [..., ..., ...]
 | 
					    - Quartiles : [Q1, Q2 (médiane), Q3] = [60000, 105000, 150000]
 | 
				
			||||||
    - Interquartile Range (IQR) : QF(3) - QF(1) = ...
 | 
					    - Interquartile Range (IQR) : QF(3) - QF(1) = 90000
 | 
				
			||||||
    - Minimum : ...
 | 
					    - Minimum : 500
 | 
				
			||||||
    - Maximum : ...
 | 
					    - Maximum : 220000
 | 
				
			||||||
    - Moyenne : ...
 | 
					    - Moyenne : 107889.00
 | 
				
			||||||
    - Médiane : ...
 | 
					    - Médiane : 105000
 | 
				
			||||||
    - Écart-type : ...
 | 
					    - Écart-type : 52723.610
 | 
				
			||||||
 | 
					    - Mode : 120000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Femmes :
 | 
					- Autres :
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - Quartiles : [Q1, Q2 (médiane), Q3] = [..., ..., ...]
 | 
					    - Quartiles : [Q1, Q2 (médiane), Q3] = [69032, 158610, 161393]
 | 
				
			||||||
    - Interquartile Range (IQR) : QF(3) - QF(1) = ...
 | 
					    - Interquartile Range (IQR) : QF(3) - QF(1) = 92361
 | 
				
			||||||
    - Minimum : ...
 | 
					    - Minimum : 62852
 | 
				
			||||||
    - Maximum : ...
 | 
					    - Maximum : 166109
 | 
				
			||||||
    - Moyenne : ...
 | 
					    - Moyenne : 125869.86
 | 
				
			||||||
    - Médiane : ...
 | 
					    - Médiane : 158610
 | 
				
			||||||
    - Écart-type : ...
 | 
					    - Écart-type : 44242.383
 | 
				
			||||||
 | 
					    - Mode : 158966
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,2 @@
 | 
				
			|||||||
D = csvRead('data.csv');
 | 
					csvDouble = csvRead("data.csv")                         //ouvre data.csv en une matrice d'entier
 | 
				
			||||||
DD = csvRead('data.csv',',','.','string');
 | 
					csvString = csvRead("data.csv",[],[],'string')          //ouvre data.csv en une matrice de string
 | 
				
			||||||
genre = DD(:,3);
 | 
					 | 
				
			||||||
@@ -1,3 +1,14 @@
 | 
				
			|||||||
id_other = find(csvString(:,3) == "Other" )
 | 
					id_other = find(csvString(:,3) == "Other" )
 | 
				
			||||||
salaire_other = csvDouble(id_other,7)
 | 
					salaire_other = csvDouble(id_other,7)
 | 
				
			||||||
 | 
					mean(salaire_other)        //moyenne
 | 
				
			||||||
 | 
					min(salaire_other)         //min
 | 
				
			||||||
 | 
					max(salaire_other)         //max
 | 
				
			||||||
 | 
					median(salaire_other)      //médianne
 | 
				
			||||||
 | 
					quart(salaire_other)       //quartile
 | 
				
			||||||
 | 
					iqr(salaire_other)         //interquartile
 | 
				
			||||||
 | 
					stdev(salaire_other)       //ecart-type
 | 
				
			||||||
 | 
					sal = tabul(salaire_other);
 | 
				
			||||||
 | 
					[occurence_tri,indice_tri] = gsort(sal(:,2));
 | 
				
			||||||
 | 
					liste_sal = sal(:,1);
 | 
				
			||||||
 | 
					mode = liste_sal(indice_tri(1))        //mode
 | 
				
			||||||
boxplot(salaire_female,"orientation","horizontal")
 | 
					boxplot(salaire_female,"orientation","horizontal")
 | 
				
			||||||
@@ -1,3 +1,14 @@
 | 
				
			|||||||
id_female = find(csvString(:,3) == "Female" )
 | 
					id_female = find(csvString(:,3) == "Female" )
 | 
				
			||||||
salaire_female = csvDouble(id_female,7)
 | 
					salaire_female = csvDouble(id_female,7)
 | 
				
			||||||
 | 
					mean(salaire_female)        //moyenne
 | 
				
			||||||
 | 
					min(salaire_female)         //min
 | 
				
			||||||
 | 
					max(salaire_female)         //max
 | 
				
			||||||
 | 
					median(salaire_female)      //médianne
 | 
				
			||||||
 | 
					quart(salaire_female)       //quartile
 | 
				
			||||||
 | 
					iqr(salaire_female)         //interquartile
 | 
				
			||||||
 | 
					stdev(salaire_female)       //ecart-type
 | 
				
			||||||
 | 
					sal = tabul(salaire_female);
 | 
				
			||||||
 | 
					[occurence_tri,indice_tri] = gsort(sal(:,2));
 | 
				
			||||||
 | 
					liste_sal = sal(:,1);
 | 
				
			||||||
 | 
					mode = liste_sal(indice_tri(1))        //mode
 | 
				
			||||||
boxplot(salaire_female,"orientation","horizontal")
 | 
					boxplot(salaire_female,"orientation","horizontal")
 | 
				
			||||||
@@ -1,3 +1,14 @@
 | 
				
			|||||||
id_male = find(csvString(:,3) == "Male" )
 | 
					id_male = find(csvString(:,3) == "Male" )
 | 
				
			||||||
salaire_male = csvDouble(id_male,7)
 | 
					salaire_male = csvDouble(id_male,7)
 | 
				
			||||||
 | 
					mean(salaire_male)        //moyenne
 | 
				
			||||||
 | 
					min(salaire_male)         //min
 | 
				
			||||||
 | 
					max(salaire_male)         //max
 | 
				
			||||||
 | 
					median(salaire_male)      //médianne
 | 
				
			||||||
 | 
					quart(salaire_male)       //quartile
 | 
				
			||||||
 | 
					iqr(salaire_male)         //interquartile
 | 
				
			||||||
 | 
					stdev(salaire_male)       //ecart-type
 | 
				
			||||||
 | 
					sal = tabul(salaire_male);
 | 
				
			||||||
 | 
					[occurence_tri,indice_tri] = gsort(sal(:,2));
 | 
				
			||||||
 | 
					liste_sal = sal(:,1);
 | 
				
			||||||
 | 
					mode = liste_sal(indice_tri(1))        //mode
 | 
				
			||||||
boxplot(salaire_male,"orientation","horizontal")
 | 
					boxplot(salaire_male,"orientation","horizontal")
 | 
				
			||||||
@@ -1,17 +1,3 @@
 | 
				
			|||||||
# NON FINIT !!!
 | 
					 | 
				
			||||||
# NON FINIT !!!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# NON FINIT !!!# NON FINIT !!!
 | 
					 | 
				
			||||||
# NON FINIT !!!
 | 
					 | 
				
			||||||
# NON FINIT !!!
 | 
					 | 
				
			||||||
# NON FINIT !!!
 | 
					 | 
				
			||||||
# NON FINIT !!!
 | 
					 | 
				
			||||||
# NON FINIT !!!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# NON FINIT !!!
 | 
					 | 
				
			||||||
# NON FINIT !!!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Exercice 4 : Analyse de la relation entre âge, expérience et salaire
 | 
					# Exercice 4 : Analyse de la relation entre âge, expérience et salaire
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Table des matières
 | 
					## Table des matières
 | 
				
			||||||
@@ -28,12 +14,9 @@ Pour cette exercice, veuillez initaliser les variables suivantes :
 | 
				
			|||||||
**[Script Scilab](scripts/init.sce) :**
 | 
					**[Script Scilab](scripts/init.sce) :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```scilab
 | 
					```scilab
 | 
				
			||||||
// Charger les données depuis le fichier CSV
 | 
					D = csvRead('data.csv');
 | 
				
			||||||
data = csvRead('data.csv');
 | 
					DD = csvRead('data.csv',',','.','string');
 | 
				
			||||||
 | 
					genre = DD(:,3);
 | 
				
			||||||
// Extraire les colonnes pertinentes (âge et salaire)
 | 
					 | 
				
			||||||
age = data(:, 2);
 | 
					 | 
				
			||||||
salaire = data(:, 7);
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
@@ -45,71 +28,42 @@ salaire = data(:, 7);
 | 
				
			|||||||
**[Script Scilab](scripts/q1.sce) :**
 | 
					**[Script Scilab](scripts/q1.sce) :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```scilab
 | 
					```scilab
 | 
				
			||||||
// Vérifier les dimensions
 | 
					X=csvDouble(:,7)
 | 
				
			||||||
disp(size(age));
 | 
					Y=csvDouble(:,2)
 | 
				
			||||||
disp(size(salaire));
 | 
					plot2d(X,Y,-1)
 | 
				
			||||||
 | 
					[a,b] = reglin(X',Y')
 | 
				
			||||||
clf;
 | 
					y_reg = a*X+b
 | 
				
			||||||
 | 
					plot2d(X,y_reg,5)
 | 
				
			||||||
// Tracer le nuage de points avec les vraies données
 | 
					corrcoef(X,Y)
 | 
				
			||||||
scatter(age, salaire, 10, 'filled');
 | 
					 | 
				
			||||||
xlabel('Age');
 | 
					 | 
				
			||||||
ylabel('Salaire');
 | 
					 | 
				
			||||||
title('Nuage de points : Age vs Salaire');
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
A = [ones(length(age), 1), age];
 | 
					 | 
				
			||||||
coefficients = A \ salaire;
 | 
					 | 
				
			||||||
salaire_pred = A * coefficients;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Tracer la droite de régression
 | 
					 | 
				
			||||||
plot(age, salaire, '+'); // Tracer le nuage de points
 | 
					 | 
				
			||||||
plot(age, salaire_pred, '-r'); // Tracer la droite de régression
 | 
					 | 
				
			||||||
legend(['Données', 'Droite de régression'], 'Location', 'northwest');
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Calcul manuel du coefficient de corrélation
 | 
					 | 
				
			||||||
mean_age = mean(age);
 | 
					 | 
				
			||||||
mean_salaire = mean(salaire);
 | 
					 | 
				
			||||||
numerateur = sum((age - mean_age) .* (salaire - mean_salaire));
 | 
					 | 
				
			||||||
denominateur = sqrt(sum((age - mean_age).^2) * sum((salaire - mean_salaire).^2));
 | 
					 | 
				
			||||||
correlation_coefficient = numerateur / denominateur;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Affichage du coefficient de corrélation
 | 
					 | 
				
			||||||
disp('Le coefficient de corrélation est :');
 | 
					 | 
				
			||||||
disp(correlation_coefficient);
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**Résultat :**
 | 
					**Résultat :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					- Coefficient de corrélation : 0.7280526
 | 
				
			||||||
 | 
					- 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Question 2 : Histogramme des salaires moyens par niveau d'études {#q2}
 | 
					## Question 2 : Nuage de points et régression linéaire : Expérience vs Salaire {#q2}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> Tracez un histogramme des salaires moyens suivant le niveau d'études.
 | 
					> Tracez un nuage de points (expérience,salaire), et la droite de regression correspondante. Quel est le coefficient de corrélation ?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**[Script Scilab](scripts/q2.sce) :**
 | 
					**[Script Scilab](scripts/q2.sce) :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```scilab
 | 
					```scilab
 | 
				
			||||||
niveau_etudes = D(:, 4);
 | 
					X=csvDouble(:,7)
 | 
				
			||||||
salaires = D(:, 7);
 | 
					Y=csvDouble(:,6)
 | 
				
			||||||
unique_niveaux = unique(niveau_etudes);
 | 
					plot2d(X,Y,-1)
 | 
				
			||||||
moy_salaire_par_niveau = zeros(size(unique_niveaux));
 | 
					[a,b] = reglin(X',Y')
 | 
				
			||||||
 | 
					y_reg = a*X+b
 | 
				
			||||||
for i = 1:length(unique_niveaux)
 | 
					plot2d(X,y_reg,5)
 | 
				
			||||||
    moy_salaire_par_niveau(i) = mean(salaires(niveau_etudes == unique_niveaux(i)));
 | 
					corrcoef(X,Y)
 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bar(unique_niveaux, moy_salaire_par_niveau);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
xlabel("Niveau d''études");
 | 
					 | 
				
			||||||
ylabel("Salaire moyen");
 | 
					 | 
				
			||||||
title("Salaire moyen par niveau d''études");
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**Résultat :**
 | 
					**Résultat :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					- Coefficient de corrélation : 0.8089689
 | 
				
			||||||
 | 
					- 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								EXO4/img/q1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								EXO4/img/q1.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 95 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								EXO4/img/q2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								EXO4/img/q2.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 97 KiB  | 
@@ -1,6 +1,2 @@
 | 
				
			|||||||
// Charger les données depuis le fichier CSV
 | 
					csvDouble = csvRead("data.csv")                         //ouvre data.csv en une matrice d'entier
 | 
				
			||||||
data = csvRead('data.csv');
 | 
					csvString = csvRead("data.csv",[],[],'string')          //ouvre data.csv en une matrice de string
 | 
				
			||||||
 | 
					 | 
				
			||||||
// Extraire les colonnes pertinentes (âge et salaire)
 | 
					 | 
				
			||||||
age = data(:, 2);
 | 
					 | 
				
			||||||
salaire = data(:, 7);
 | 
					 | 
				
			||||||
@@ -1,31 +1,7 @@
 | 
				
			|||||||
// Vérifier les dimensions
 | 
					X=csvDouble(:,7)
 | 
				
			||||||
disp(size(age));
 | 
					Y=csvDouble(:,2)
 | 
				
			||||||
disp(size(salaire));
 | 
					plot2d(X,Y,-1)
 | 
				
			||||||
 | 
					[a,b] = reglin(X',Y')
 | 
				
			||||||
clf;
 | 
					y_reg = a*X+b
 | 
				
			||||||
 | 
					plot2d(X,y_reg,5)
 | 
				
			||||||
// Tracer le nuage de points avec les vraies données
 | 
					corrcoef(X,Y)
 | 
				
			||||||
scatter(age, salaire, 10, 'filled');
 | 
					 | 
				
			||||||
xlabel('Age');
 | 
					 | 
				
			||||||
ylabel('Salaire');
 | 
					 | 
				
			||||||
title('Nuage de points : Age vs Salaire');
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
A = [ones(length(age), 1), age];
 | 
					 | 
				
			||||||
coefficients = A \ salaire;
 | 
					 | 
				
			||||||
salaire_pred = A * coefficients;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Tracer la droite de régression
 | 
					 | 
				
			||||||
plot(age, salaire, '+'); // Tracer le nuage de points
 | 
					 | 
				
			||||||
plot(age, salaire_pred, '-r'); // Tracer la droite de régression
 | 
					 | 
				
			||||||
legend(['Données', 'Droite de régression'], 'Location', 'northwest');
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Calcul manuel du coefficient de corrélation
 | 
					 | 
				
			||||||
mean_age = mean(age);
 | 
					 | 
				
			||||||
mean_salaire = mean(salaire);
 | 
					 | 
				
			||||||
numerateur = sum((age - mean_age) .* (salaire - mean_salaire));
 | 
					 | 
				
			||||||
denominateur = sqrt(sum((age - mean_age).^2) * sum((salaire - mean_salaire).^2));
 | 
					 | 
				
			||||||
correlation_coefficient = numerateur / denominateur;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Affichage du coefficient de corrélation
 | 
					 | 
				
			||||||
disp('Le coefficient de corrélation est :');
 | 
					 | 
				
			||||||
disp(correlation_coefficient);
 | 
					 | 
				
			||||||
							
								
								
									
										7
									
								
								EXO4/scripts/q2.sce
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								EXO4/scripts/q2.sce
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					X=csvDouble(:,7)
 | 
				
			||||||
 | 
					Y=csvDouble(:,6)
 | 
				
			||||||
 | 
					plot2d(X,Y,-1)
 | 
				
			||||||
 | 
					[a,b] = reglin(X',Y')
 | 
				
			||||||
 | 
					y_reg = a*X+b
 | 
				
			||||||
 | 
					plot2d(X,y_reg,5)
 | 
				
			||||||
 | 
					corrcoef(X,Y)
 | 
				
			||||||
@@ -1,2 +1,57 @@
 | 
				
			|||||||
# SAE_2.04
 | 
					# Exercice 5 : Analyse de la relation entre expérience et salaire par genre et niveau d'études
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Table des matières
 | 
				
			||||||
 | 
					1. [Initialisation des variables](#init)
 | 
				
			||||||
 | 
					2. [Nuage de points et régression linéaire : Expérience vs Salaire par genre](#q1)
 | 
				
			||||||
 | 
					3. [Nuage de points et régression linéaire : Expérience vs Salaire par niveau d'études](#q2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Initialisation des variables {#init}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pour cette exercice, veuillez initaliser les variables suivantes :
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**[Script Scilab](scripts/init.sce) :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```scilab
 | 
				
			||||||
 | 
					csvDouble = csvRead("data.csv")                         //ouvre data.csv en une matrice d'entier
 | 
				
			||||||
 | 
					csvString = csvRead("data.csv",[],[],'string')          //ouvre data.csv en une matrice de string
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Question 1 : Nuage de points et régression linéaire : Expérience vs Salaire par genre {#q1}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> Tracez un nuage de points (salaire,expérience) pour les hommes et les femmes, ainsi que les droites de regression associées. Commentaire ?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**[Script Scilab](scripts/q1.sce) :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```scilab
 | 
				
			||||||
 | 
					...
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**Résultat :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Coefficient de corrélation : 0.7280526
 | 
				
			||||||
 | 
					- 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Question 2 : Nuage de points et régression linéaire : Expérience vs Salaire par niveau d'études {#q2}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> Tracez un nuage de points (salaire,expérince) et les droites de regression associées pour chaque niveau d'études. Commentaire ?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**[Script Scilab](scripts/q2.sce) :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```scilab
 | 
				
			||||||
 | 
					...
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**Résultat :**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[⬅️](../EXO4/ "Exercice précédent (Exercice 4)") | [🏠](../ "Retour au sommaire")
 | 
				
			||||||
							
								
								
									
										2
									
								
								EXO5/scripts/init.sce
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								EXO5/scripts/init.sce
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					csvDouble = csvRead("data.csv")                         //ouvre data.csv en une matrice d'entier
 | 
				
			||||||
 | 
					csvString = csvRead("data.csv",[],[],'string')          //ouvre data.csv en une matrice de string
 | 
				
			||||||
							
								
								
									
										0
									
								
								EXO5/scripts/q1.sce
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								EXO5/scripts/q1.sce
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								EXO5/scripts/q2.sce
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								EXO5/scripts/q2.sce
									
									
									
									
									
										Normal file
									
								
							
		Reference in New Issue
	
	Block a user