Import
This commit is contained in:
		
						commit
						4a61477f6e
					
				
							
								
								
									
										11
									
								
								Partie 1 - Data Preprocessing/Data.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Partie 1 - Data Preprocessing/Data.csv
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					Country,Age,Salary,Purchased
 | 
				
			||||||
 | 
					France,44,72000,No
 | 
				
			||||||
 | 
					Spain,27,48000,Yes
 | 
				
			||||||
 | 
					Germany,30,54000,No
 | 
				
			||||||
 | 
					Spain,38,61000,No
 | 
				
			||||||
 | 
					Germany,40,,Yes
 | 
				
			||||||
 | 
					France,35,58000,Yes
 | 
				
			||||||
 | 
					Spain,,52000,No
 | 
				
			||||||
 | 
					France,48,79000,Yes
 | 
				
			||||||
 | 
					Germany,50,83000,No
 | 
				
			||||||
 | 
					France,37,67000,Yes
 | 
				
			||||||
		
		
			
  | 
							
								
								
									
										36
									
								
								Partie 1 - Data Preprocessing/data_preprocessing.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								Partie 1 - Data Preprocessing/data_preprocessing.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					# Data Preprocessing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer les librairies
 | 
				
			||||||
 | 
					import numpy as np
 | 
				
			||||||
 | 
					import matplotlib.pyplot as plt
 | 
				
			||||||
 | 
					import pandas as pd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer le dataset
 | 
				
			||||||
 | 
					dataset = pd.read_csv('Data.csv')
 | 
				
			||||||
 | 
					X = dataset.iloc[:, :-1].values
 | 
				
			||||||
 | 
					y = dataset.iloc[:, -1].values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Gérer les données manquantes
 | 
				
			||||||
 | 
					from sklearn.preprocessing import Imputer
 | 
				
			||||||
 | 
					imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0)
 | 
				
			||||||
 | 
					imputer.fit(X[:, 1:3])
 | 
				
			||||||
 | 
					X[:, 1:3] = imputer.transform(X[:, 1:3])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Gérer les variables catégoriques
 | 
				
			||||||
 | 
					from sklearn.preprocessing import LabelEncoder, OneHotEncoder
 | 
				
			||||||
 | 
					labelencoder_X = LabelEncoder()
 | 
				
			||||||
 | 
					X[:, 0] = labelencoder_X.fit_transform(X[:, 0])
 | 
				
			||||||
 | 
					onehotencoder = OneHotEncoder(categorical_features = [0])
 | 
				
			||||||
 | 
					X = onehotencoder.fit_transform(X).toarray()
 | 
				
			||||||
 | 
					labelencoder_y = LabelEncoder()
 | 
				
			||||||
 | 
					y = labelencoder_y.fit_transform(y)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Diviser le dataset entre le Training set et le Test set
 | 
				
			||||||
 | 
					from sklearn.model_selection import train_test_split
 | 
				
			||||||
 | 
					X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Feature Scaling
 | 
				
			||||||
 | 
					from sklearn.preprocessing import StandardScaler
 | 
				
			||||||
 | 
					sc = StandardScaler()
 | 
				
			||||||
 | 
					X_train = sc.fit_transform(X_train)
 | 
				
			||||||
 | 
					X_test = sc.transform(X_test)
 | 
				
			||||||
							
								
								
									
										51
									
								
								Partie 2 - Régression/50_Startups.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								Partie 2 - Régression/50_Startups.csv
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					R&D Spend,Administration,Marketing Spend,State,Profit
 | 
				
			||||||
 | 
					165349.2,136897.8,471784.1,New York,192261.83
 | 
				
			||||||
 | 
					162597.7,151377.59,443898.53,California,191792.06
 | 
				
			||||||
 | 
					153441.51,101145.55,407934.54,Florida,191050.39
 | 
				
			||||||
 | 
					144372.41,118671.85,383199.62,New York,182901.99
 | 
				
			||||||
 | 
					142107.34,91391.77,366168.42,Florida,166187.94
 | 
				
			||||||
 | 
					131876.9,99814.71,362861.36,New York,156991.12
 | 
				
			||||||
 | 
					134615.46,147198.87,127716.82,California,156122.51
 | 
				
			||||||
 | 
					130298.13,145530.06,323876.68,Florida,155752.6
 | 
				
			||||||
 | 
					120542.52,148718.95,311613.29,New York,152211.77
 | 
				
			||||||
 | 
					123334.88,108679.17,304981.62,California,149759.96
 | 
				
			||||||
 | 
					101913.08,110594.11,229160.95,Florida,146121.95
 | 
				
			||||||
 | 
					100671.96,91790.61,249744.55,California,144259.4
 | 
				
			||||||
 | 
					93863.75,127320.38,249839.44,Florida,141585.52
 | 
				
			||||||
 | 
					91992.39,135495.07,252664.93,California,134307.35
 | 
				
			||||||
 | 
					119943.24,156547.42,256512.92,Florida,132602.65
 | 
				
			||||||
 | 
					114523.61,122616.84,261776.23,New York,129917.04
 | 
				
			||||||
 | 
					78013.11,121597.55,264346.06,California,126992.93
 | 
				
			||||||
 | 
					94657.16,145077.58,282574.31,New York,125370.37
 | 
				
			||||||
 | 
					91749.16,114175.79,294919.57,Florida,124266.9
 | 
				
			||||||
 | 
					86419.7,153514.11,0,New York,122776.86
 | 
				
			||||||
 | 
					76253.86,113867.3,298664.47,California,118474.03
 | 
				
			||||||
 | 
					78389.47,153773.43,299737.29,New York,111313.02
 | 
				
			||||||
 | 
					73994.56,122782.75,303319.26,Florida,110352.25
 | 
				
			||||||
 | 
					67532.53,105751.03,304768.73,Florida,108733.99
 | 
				
			||||||
 | 
					77044.01,99281.34,140574.81,New York,108552.04
 | 
				
			||||||
 | 
					64664.71,139553.16,137962.62,California,107404.34
 | 
				
			||||||
 | 
					75328.87,144135.98,134050.07,Florida,105733.54
 | 
				
			||||||
 | 
					72107.6,127864.55,353183.81,New York,105008.31
 | 
				
			||||||
 | 
					66051.52,182645.56,118148.2,Florida,103282.38
 | 
				
			||||||
 | 
					65605.48,153032.06,107138.38,New York,101004.64
 | 
				
			||||||
 | 
					61994.48,115641.28,91131.24,Florida,99937.59
 | 
				
			||||||
 | 
					61136.38,152701.92,88218.23,New York,97483.56
 | 
				
			||||||
 | 
					63408.86,129219.61,46085.25,California,97427.84
 | 
				
			||||||
 | 
					55493.95,103057.49,214634.81,Florida,96778.92
 | 
				
			||||||
 | 
					46426.07,157693.92,210797.67,California,96712.8
 | 
				
			||||||
 | 
					46014.02,85047.44,205517.64,New York,96479.51
 | 
				
			||||||
 | 
					28663.76,127056.21,201126.82,Florida,90708.19
 | 
				
			||||||
 | 
					44069.95,51283.14,197029.42,California,89949.14
 | 
				
			||||||
 | 
					20229.59,65947.93,185265.1,New York,81229.06
 | 
				
			||||||
 | 
					38558.51,82982.09,174999.3,California,81005.76
 | 
				
			||||||
 | 
					28754.33,118546.05,172795.67,California,78239.91
 | 
				
			||||||
 | 
					27892.92,84710.77,164470.71,Florida,77798.83
 | 
				
			||||||
 | 
					23640.93,96189.63,148001.11,California,71498.49
 | 
				
			||||||
 | 
					15505.73,127382.3,35534.17,New York,69758.98
 | 
				
			||||||
 | 
					22177.74,154806.14,28334.72,California,65200.33
 | 
				
			||||||
 | 
					1000.23,124153.04,1903.93,New York,64926.08
 | 
				
			||||||
 | 
					1315.46,115816.21,297114.46,Florida,49490.75
 | 
				
			||||||
 | 
					0,135426.92,0,California,42559.73
 | 
				
			||||||
 | 
					542.05,51743.15,0,New York,35673.41
 | 
				
			||||||
 | 
					0,116983.8,45173.06,California,14681.4
 | 
				
			||||||
		
		
			
  | 
							
								
								
									
										11
									
								
								Partie 2 - Régression/Position_Salaries.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Partie 2 - Régression/Position_Salaries.csv
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					Position,Level,Salary
 | 
				
			||||||
 | 
					Business Analyst,1,45000
 | 
				
			||||||
 | 
					Junior Consultant,2,50000
 | 
				
			||||||
 | 
					Senior Consultant,3,60000
 | 
				
			||||||
 | 
					Manager,4,80000
 | 
				
			||||||
 | 
					Country Manager,5,110000
 | 
				
			||||||
 | 
					Region Manager,6,150000
 | 
				
			||||||
 | 
					Partner,7,200000
 | 
				
			||||||
 | 
					Senior Partner,8,300000
 | 
				
			||||||
 | 
					C-level,9,500000
 | 
				
			||||||
 | 
					CEO,10,1000000
 | 
				
			||||||
		
		
			
  | 
							
								
								
									
										31
									
								
								Partie 2 - Régression/Salary_Data.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								Partie 2 - Régression/Salary_Data.csv
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					YearsExperience,Salary
 | 
				
			||||||
 | 
					1.1,39343.00
 | 
				
			||||||
 | 
					1.3,46205.00
 | 
				
			||||||
 | 
					1.5,37731.00
 | 
				
			||||||
 | 
					2.0,43525.00
 | 
				
			||||||
 | 
					2.2,39891.00
 | 
				
			||||||
 | 
					2.9,56642.00
 | 
				
			||||||
 | 
					3.0,60150.00
 | 
				
			||||||
 | 
					3.2,54445.00
 | 
				
			||||||
 | 
					3.2,64445.00
 | 
				
			||||||
 | 
					3.7,57189.00
 | 
				
			||||||
 | 
					3.9,63218.00
 | 
				
			||||||
 | 
					4.0,55794.00
 | 
				
			||||||
 | 
					4.0,56957.00
 | 
				
			||||||
 | 
					4.1,57081.00
 | 
				
			||||||
 | 
					4.5,61111.00
 | 
				
			||||||
 | 
					4.9,67938.00
 | 
				
			||||||
 | 
					5.1,66029.00
 | 
				
			||||||
 | 
					5.3,83088.00
 | 
				
			||||||
 | 
					5.9,81363.00
 | 
				
			||||||
 | 
					6.0,93940.00
 | 
				
			||||||
 | 
					6.8,91738.00
 | 
				
			||||||
 | 
					7.1,98273.00
 | 
				
			||||||
 | 
					7.9,101302.00
 | 
				
			||||||
 | 
					8.2,113812.00
 | 
				
			||||||
 | 
					8.7,109431.00
 | 
				
			||||||
 | 
					9.0,105582.00
 | 
				
			||||||
 | 
					9.5,116969.00
 | 
				
			||||||
 | 
					9.6,112635.00
 | 
				
			||||||
 | 
					10.3,122391.00
 | 
				
			||||||
 | 
					10.5,121872.00
 | 
				
			||||||
		
		
			
  | 
							
								
								
									
										32
									
								
								Partie 2 - Régression/regression_lineaire_multiple.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								Partie 2 - Régression/regression_lineaire_multiple.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					# Regression Linéaire Multiple
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer les librairies
 | 
				
			||||||
 | 
					import numpy as np
 | 
				
			||||||
 | 
					import matplotlib.pyplot as plt
 | 
				
			||||||
 | 
					import pandas as pd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer le dataset
 | 
				
			||||||
 | 
					dataset = pd.read_csv('50_Startups.csv')
 | 
				
			||||||
 | 
					X = dataset.iloc[:, :-1].values
 | 
				
			||||||
 | 
					y = dataset.iloc[:, -1].values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Gérer les variables catégoriques
 | 
				
			||||||
 | 
					from sklearn.preprocessing import LabelEncoder, OneHotEncoder
 | 
				
			||||||
 | 
					labelencoder_X = LabelEncoder()
 | 
				
			||||||
 | 
					X[:, 3] = labelencoder_X.fit_transform(X[:, 3])
 | 
				
			||||||
 | 
					onehotencoder = OneHotEncoder(categorical_features = [3])
 | 
				
			||||||
 | 
					X = onehotencoder.fit_transform(X).toarray()
 | 
				
			||||||
 | 
					X = X[:, 1:]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Diviser le dataset entre le Training set et le Test set
 | 
				
			||||||
 | 
					from sklearn.model_selection import train_test_split
 | 
				
			||||||
 | 
					X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Construction du modèle
 | 
				
			||||||
 | 
					from sklearn.linear_model import LinearRegression
 | 
				
			||||||
 | 
					regressor = LinearRegression()
 | 
				
			||||||
 | 
					regressor.fit(X_train, y_train)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Faire de nouvelles prédictions
 | 
				
			||||||
 | 
					y_pred = regressor.predict(X_test)
 | 
				
			||||||
 | 
					regressor.predict(np.array([[1, 0, 130000, 140000, 300000]]))
 | 
				
			||||||
							
								
								
									
										32
									
								
								Partie 2 - Régression/regression_lineaire_simple.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								Partie 2 - Régression/regression_lineaire_simple.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					# Regression Linéaire Simple
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer les librairies
 | 
				
			||||||
 | 
					import numpy as np
 | 
				
			||||||
 | 
					import matplotlib.pyplot as plt
 | 
				
			||||||
 | 
					import pandas as pd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer le dataset
 | 
				
			||||||
 | 
					dataset = pd.read_csv('Salary_Data.csv')
 | 
				
			||||||
 | 
					X = dataset.iloc[:, :-1].values
 | 
				
			||||||
 | 
					y = dataset.iloc[:, -1].values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Diviser le dataset entre le Training set et le Test set
 | 
				
			||||||
 | 
					from sklearn.model_selection import train_test_split
 | 
				
			||||||
 | 
					X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 1.0/3, random_state = 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Construction du modèle
 | 
				
			||||||
 | 
					from sklearn.linear_model import LinearRegression
 | 
				
			||||||
 | 
					regressor = LinearRegression()
 | 
				
			||||||
 | 
					regressor.fit(X_train, y_train)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Faire de nouvelles prédictions
 | 
				
			||||||
 | 
					y_pred = regressor.predict(X_test)
 | 
				
			||||||
 | 
					regressor.predict(15)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visualiser les résultats
 | 
				
			||||||
 | 
					plt.scatter(X_test, y_test, color = 'red')
 | 
				
			||||||
 | 
					plt.plot(X_train, regressor.predict(X_train), color = 'blue')
 | 
				
			||||||
 | 
					plt.title('Salaire vs Experience')
 | 
				
			||||||
 | 
					plt.xlabel('Experience')
 | 
				
			||||||
 | 
					plt.ylabel('Salaire')
 | 
				
			||||||
 | 
					plt.show()
 | 
				
			||||||
							
								
								
									
										40
									
								
								Partie 2 - Régression/regression_polynomiale.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								Partie 2 - Régression/regression_polynomiale.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					# Regression Polynomiale
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer les librairies
 | 
				
			||||||
 | 
					import numpy as np
 | 
				
			||||||
 | 
					import matplotlib.pyplot as plt
 | 
				
			||||||
 | 
					import pandas as pd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer le dataset
 | 
				
			||||||
 | 
					dataset = pd.read_csv('Position_Salaries.csv')
 | 
				
			||||||
 | 
					X = dataset.iloc[:, 1:2].values
 | 
				
			||||||
 | 
					y = dataset.iloc[:, -1].values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Construction du modèle
 | 
				
			||||||
 | 
					from sklearn.linear_model import LinearRegression
 | 
				
			||||||
 | 
					from sklearn.preprocessing import PolynomialFeatures
 | 
				
			||||||
 | 
					poly_reg = PolynomialFeatures(degree = 4)
 | 
				
			||||||
 | 
					X_poly = poly_reg.fit_transform(X)
 | 
				
			||||||
 | 
					regressor = LinearRegression()
 | 
				
			||||||
 | 
					regressor.fit(X_poly, y)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Faire de nouvelles prédictions
 | 
				
			||||||
 | 
					regressor.predict(15)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visualiser les résultats
 | 
				
			||||||
 | 
					plt.scatter(X, y, color = 'red')
 | 
				
			||||||
 | 
					plt.plot(X, regressor.predict(X_poly), color = 'blue')
 | 
				
			||||||
 | 
					plt.title('Salaire vs Experience')
 | 
				
			||||||
 | 
					plt.xlabel('Experience')
 | 
				
			||||||
 | 
					plt.ylabel('Salaire')
 | 
				
			||||||
 | 
					plt.show()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visualiser les résultats (courbe plus lisse)
 | 
				
			||||||
 | 
					X_grid = np.arange(min(X), max(X), 0.1)
 | 
				
			||||||
 | 
					X_grid = X_grid.reshape((len(X_grid), 1))
 | 
				
			||||||
 | 
					plt.scatter(X, y, color = 'red')
 | 
				
			||||||
 | 
					plt.plot(X_grid, regressor.predict(poly_reg.fit_transform(X_grid)), color = 'blue')
 | 
				
			||||||
 | 
					plt.title('Salaire vs Experience')
 | 
				
			||||||
 | 
					plt.xlabel('Experience')
 | 
				
			||||||
 | 
					plt.ylabel('Salaire')
 | 
				
			||||||
 | 
					plt.show()
 | 
				
			||||||
							
								
								
									
										401
									
								
								Partie 3 - Classification/Social_Network_Ads.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										401
									
								
								Partie 3 - Classification/Social_Network_Ads.csv
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,401 @@
 | 
				
			|||||||
 | 
					User ID,Gender,Age,EstimatedSalary,Purchased
 | 
				
			||||||
 | 
					15624510,Male,19,19000,0
 | 
				
			||||||
 | 
					15810944,Male,35,20000,0
 | 
				
			||||||
 | 
					15668575,Female,26,43000,0
 | 
				
			||||||
 | 
					15603246,Female,27,57000,0
 | 
				
			||||||
 | 
					15804002,Male,19,76000,0
 | 
				
			||||||
 | 
					15728773,Male,27,58000,0
 | 
				
			||||||
 | 
					15598044,Female,27,84000,0
 | 
				
			||||||
 | 
					15694829,Female,32,150000,1
 | 
				
			||||||
 | 
					15600575,Male,25,33000,0
 | 
				
			||||||
 | 
					15727311,Female,35,65000,0
 | 
				
			||||||
 | 
					15570769,Female,26,80000,0
 | 
				
			||||||
 | 
					15606274,Female,26,52000,0
 | 
				
			||||||
 | 
					15746139,Male,20,86000,0
 | 
				
			||||||
 | 
					15704987,Male,32,18000,0
 | 
				
			||||||
 | 
					15628972,Male,18,82000,0
 | 
				
			||||||
 | 
					15697686,Male,29,80000,0
 | 
				
			||||||
 | 
					15733883,Male,47,25000,1
 | 
				
			||||||
 | 
					15617482,Male,45,26000,1
 | 
				
			||||||
 | 
					15704583,Male,46,28000,1
 | 
				
			||||||
 | 
					15621083,Female,48,29000,1
 | 
				
			||||||
 | 
					15649487,Male,45,22000,1
 | 
				
			||||||
 | 
					15736760,Female,47,49000,1
 | 
				
			||||||
 | 
					15714658,Male,48,41000,1
 | 
				
			||||||
 | 
					15599081,Female,45,22000,1
 | 
				
			||||||
 | 
					15705113,Male,46,23000,1
 | 
				
			||||||
 | 
					15631159,Male,47,20000,1
 | 
				
			||||||
 | 
					15792818,Male,49,28000,1
 | 
				
			||||||
 | 
					15633531,Female,47,30000,1
 | 
				
			||||||
 | 
					15744529,Male,29,43000,0
 | 
				
			||||||
 | 
					15669656,Male,31,18000,0
 | 
				
			||||||
 | 
					15581198,Male,31,74000,0
 | 
				
			||||||
 | 
					15729054,Female,27,137000,1
 | 
				
			||||||
 | 
					15573452,Female,21,16000,0
 | 
				
			||||||
 | 
					15776733,Female,28,44000,0
 | 
				
			||||||
 | 
					15724858,Male,27,90000,0
 | 
				
			||||||
 | 
					15713144,Male,35,27000,0
 | 
				
			||||||
 | 
					15690188,Female,33,28000,0
 | 
				
			||||||
 | 
					15689425,Male,30,49000,0
 | 
				
			||||||
 | 
					15671766,Female,26,72000,0
 | 
				
			||||||
 | 
					15782806,Female,27,31000,0
 | 
				
			||||||
 | 
					15764419,Female,27,17000,0
 | 
				
			||||||
 | 
					15591915,Female,33,51000,0
 | 
				
			||||||
 | 
					15772798,Male,35,108000,0
 | 
				
			||||||
 | 
					15792008,Male,30,15000,0
 | 
				
			||||||
 | 
					15715541,Female,28,84000,0
 | 
				
			||||||
 | 
					15639277,Male,23,20000,0
 | 
				
			||||||
 | 
					15798850,Male,25,79000,0
 | 
				
			||||||
 | 
					15776348,Female,27,54000,0
 | 
				
			||||||
 | 
					15727696,Male,30,135000,1
 | 
				
			||||||
 | 
					15793813,Female,31,89000,0
 | 
				
			||||||
 | 
					15694395,Female,24,32000,0
 | 
				
			||||||
 | 
					15764195,Female,18,44000,0
 | 
				
			||||||
 | 
					15744919,Female,29,83000,0
 | 
				
			||||||
 | 
					15671655,Female,35,23000,0
 | 
				
			||||||
 | 
					15654901,Female,27,58000,0
 | 
				
			||||||
 | 
					15649136,Female,24,55000,0
 | 
				
			||||||
 | 
					15775562,Female,23,48000,0
 | 
				
			||||||
 | 
					15807481,Male,28,79000,0
 | 
				
			||||||
 | 
					15642885,Male,22,18000,0
 | 
				
			||||||
 | 
					15789109,Female,32,117000,0
 | 
				
			||||||
 | 
					15814004,Male,27,20000,0
 | 
				
			||||||
 | 
					15673619,Male,25,87000,0
 | 
				
			||||||
 | 
					15595135,Female,23,66000,0
 | 
				
			||||||
 | 
					15583681,Male,32,120000,1
 | 
				
			||||||
 | 
					15605000,Female,59,83000,0
 | 
				
			||||||
 | 
					15718071,Male,24,58000,0
 | 
				
			||||||
 | 
					15679760,Male,24,19000,0
 | 
				
			||||||
 | 
					15654574,Female,23,82000,0
 | 
				
			||||||
 | 
					15577178,Female,22,63000,0
 | 
				
			||||||
 | 
					15595324,Female,31,68000,0
 | 
				
			||||||
 | 
					15756932,Male,25,80000,0
 | 
				
			||||||
 | 
					15726358,Female,24,27000,0
 | 
				
			||||||
 | 
					15595228,Female,20,23000,0
 | 
				
			||||||
 | 
					15782530,Female,33,113000,0
 | 
				
			||||||
 | 
					15592877,Male,32,18000,0
 | 
				
			||||||
 | 
					15651983,Male,34,112000,1
 | 
				
			||||||
 | 
					15746737,Male,18,52000,0
 | 
				
			||||||
 | 
					15774179,Female,22,27000,0
 | 
				
			||||||
 | 
					15667265,Female,28,87000,0
 | 
				
			||||||
 | 
					15655123,Female,26,17000,0
 | 
				
			||||||
 | 
					15595917,Male,30,80000,0
 | 
				
			||||||
 | 
					15668385,Male,39,42000,0
 | 
				
			||||||
 | 
					15709476,Male,20,49000,0
 | 
				
			||||||
 | 
					15711218,Male,35,88000,0
 | 
				
			||||||
 | 
					15798659,Female,30,62000,0
 | 
				
			||||||
 | 
					15663939,Female,31,118000,1
 | 
				
			||||||
 | 
					15694946,Male,24,55000,0
 | 
				
			||||||
 | 
					15631912,Female,28,85000,0
 | 
				
			||||||
 | 
					15768816,Male,26,81000,0
 | 
				
			||||||
 | 
					15682268,Male,35,50000,0
 | 
				
			||||||
 | 
					15684801,Male,22,81000,0
 | 
				
			||||||
 | 
					15636428,Female,30,116000,0
 | 
				
			||||||
 | 
					15809823,Male,26,15000,0
 | 
				
			||||||
 | 
					15699284,Female,29,28000,0
 | 
				
			||||||
 | 
					15786993,Female,29,83000,0
 | 
				
			||||||
 | 
					15709441,Female,35,44000,0
 | 
				
			||||||
 | 
					15710257,Female,35,25000,0
 | 
				
			||||||
 | 
					15582492,Male,28,123000,1
 | 
				
			||||||
 | 
					15575694,Male,35,73000,0
 | 
				
			||||||
 | 
					15756820,Female,28,37000,0
 | 
				
			||||||
 | 
					15766289,Male,27,88000,0
 | 
				
			||||||
 | 
					15593014,Male,28,59000,0
 | 
				
			||||||
 | 
					15584545,Female,32,86000,0
 | 
				
			||||||
 | 
					15675949,Female,33,149000,1
 | 
				
			||||||
 | 
					15672091,Female,19,21000,0
 | 
				
			||||||
 | 
					15801658,Male,21,72000,0
 | 
				
			||||||
 | 
					15706185,Female,26,35000,0
 | 
				
			||||||
 | 
					15789863,Male,27,89000,0
 | 
				
			||||||
 | 
					15720943,Male,26,86000,0
 | 
				
			||||||
 | 
					15697997,Female,38,80000,0
 | 
				
			||||||
 | 
					15665416,Female,39,71000,0
 | 
				
			||||||
 | 
					15660200,Female,37,71000,0
 | 
				
			||||||
 | 
					15619653,Male,38,61000,0
 | 
				
			||||||
 | 
					15773447,Male,37,55000,0
 | 
				
			||||||
 | 
					15739160,Male,42,80000,0
 | 
				
			||||||
 | 
					15689237,Male,40,57000,0
 | 
				
			||||||
 | 
					15679297,Male,35,75000,0
 | 
				
			||||||
 | 
					15591433,Male,36,52000,0
 | 
				
			||||||
 | 
					15642725,Male,40,59000,0
 | 
				
			||||||
 | 
					15701962,Male,41,59000,0
 | 
				
			||||||
 | 
					15811613,Female,36,75000,0
 | 
				
			||||||
 | 
					15741049,Male,37,72000,0
 | 
				
			||||||
 | 
					15724423,Female,40,75000,0
 | 
				
			||||||
 | 
					15574305,Male,35,53000,0
 | 
				
			||||||
 | 
					15678168,Female,41,51000,0
 | 
				
			||||||
 | 
					15697020,Female,39,61000,0
 | 
				
			||||||
 | 
					15610801,Male,42,65000,0
 | 
				
			||||||
 | 
					15745232,Male,26,32000,0
 | 
				
			||||||
 | 
					15722758,Male,30,17000,0
 | 
				
			||||||
 | 
					15792102,Female,26,84000,0
 | 
				
			||||||
 | 
					15675185,Male,31,58000,0
 | 
				
			||||||
 | 
					15801247,Male,33,31000,0
 | 
				
			||||||
 | 
					15725660,Male,30,87000,0
 | 
				
			||||||
 | 
					15638963,Female,21,68000,0
 | 
				
			||||||
 | 
					15800061,Female,28,55000,0
 | 
				
			||||||
 | 
					15578006,Male,23,63000,0
 | 
				
			||||||
 | 
					15668504,Female,20,82000,0
 | 
				
			||||||
 | 
					15687491,Male,30,107000,1
 | 
				
			||||||
 | 
					15610403,Female,28,59000,0
 | 
				
			||||||
 | 
					15741094,Male,19,25000,0
 | 
				
			||||||
 | 
					15807909,Male,19,85000,0
 | 
				
			||||||
 | 
					15666141,Female,18,68000,0
 | 
				
			||||||
 | 
					15617134,Male,35,59000,0
 | 
				
			||||||
 | 
					15783029,Male,30,89000,0
 | 
				
			||||||
 | 
					15622833,Female,34,25000,0
 | 
				
			||||||
 | 
					15746422,Female,24,89000,0
 | 
				
			||||||
 | 
					15750839,Female,27,96000,1
 | 
				
			||||||
 | 
					15749130,Female,41,30000,0
 | 
				
			||||||
 | 
					15779862,Male,29,61000,0
 | 
				
			||||||
 | 
					15767871,Male,20,74000,0
 | 
				
			||||||
 | 
					15679651,Female,26,15000,0
 | 
				
			||||||
 | 
					15576219,Male,41,45000,0
 | 
				
			||||||
 | 
					15699247,Male,31,76000,0
 | 
				
			||||||
 | 
					15619087,Female,36,50000,0
 | 
				
			||||||
 | 
					15605327,Male,40,47000,0
 | 
				
			||||||
 | 
					15610140,Female,31,15000,0
 | 
				
			||||||
 | 
					15791174,Male,46,59000,0
 | 
				
			||||||
 | 
					15602373,Male,29,75000,0
 | 
				
			||||||
 | 
					15762605,Male,26,30000,0
 | 
				
			||||||
 | 
					15598840,Female,32,135000,1
 | 
				
			||||||
 | 
					15744279,Male,32,100000,1
 | 
				
			||||||
 | 
					15670619,Male,25,90000,0
 | 
				
			||||||
 | 
					15599533,Female,37,33000,0
 | 
				
			||||||
 | 
					15757837,Male,35,38000,0
 | 
				
			||||||
 | 
					15697574,Female,33,69000,0
 | 
				
			||||||
 | 
					15578738,Female,18,86000,0
 | 
				
			||||||
 | 
					15762228,Female,22,55000,0
 | 
				
			||||||
 | 
					15614827,Female,35,71000,0
 | 
				
			||||||
 | 
					15789815,Male,29,148000,1
 | 
				
			||||||
 | 
					15579781,Female,29,47000,0
 | 
				
			||||||
 | 
					15587013,Male,21,88000,0
 | 
				
			||||||
 | 
					15570932,Male,34,115000,0
 | 
				
			||||||
 | 
					15794661,Female,26,118000,0
 | 
				
			||||||
 | 
					15581654,Female,34,43000,0
 | 
				
			||||||
 | 
					15644296,Female,34,72000,0
 | 
				
			||||||
 | 
					15614420,Female,23,28000,0
 | 
				
			||||||
 | 
					15609653,Female,35,47000,0
 | 
				
			||||||
 | 
					15594577,Male,25,22000,0
 | 
				
			||||||
 | 
					15584114,Male,24,23000,0
 | 
				
			||||||
 | 
					15673367,Female,31,34000,0
 | 
				
			||||||
 | 
					15685576,Male,26,16000,0
 | 
				
			||||||
 | 
					15774727,Female,31,71000,0
 | 
				
			||||||
 | 
					15694288,Female,32,117000,1
 | 
				
			||||||
 | 
					15603319,Male,33,43000,0
 | 
				
			||||||
 | 
					15759066,Female,33,60000,0
 | 
				
			||||||
 | 
					15814816,Male,31,66000,0
 | 
				
			||||||
 | 
					15724402,Female,20,82000,0
 | 
				
			||||||
 | 
					15571059,Female,33,41000,0
 | 
				
			||||||
 | 
					15674206,Male,35,72000,0
 | 
				
			||||||
 | 
					15715160,Male,28,32000,0
 | 
				
			||||||
 | 
					15730448,Male,24,84000,0
 | 
				
			||||||
 | 
					15662067,Female,19,26000,0
 | 
				
			||||||
 | 
					15779581,Male,29,43000,0
 | 
				
			||||||
 | 
					15662901,Male,19,70000,0
 | 
				
			||||||
 | 
					15689751,Male,28,89000,0
 | 
				
			||||||
 | 
					15667742,Male,34,43000,0
 | 
				
			||||||
 | 
					15738448,Female,30,79000,0
 | 
				
			||||||
 | 
					15680243,Female,20,36000,0
 | 
				
			||||||
 | 
					15745083,Male,26,80000,0
 | 
				
			||||||
 | 
					15708228,Male,35,22000,0
 | 
				
			||||||
 | 
					15628523,Male,35,39000,0
 | 
				
			||||||
 | 
					15708196,Male,49,74000,0
 | 
				
			||||||
 | 
					15735549,Female,39,134000,1
 | 
				
			||||||
 | 
					15809347,Female,41,71000,0
 | 
				
			||||||
 | 
					15660866,Female,58,101000,1
 | 
				
			||||||
 | 
					15766609,Female,47,47000,0
 | 
				
			||||||
 | 
					15654230,Female,55,130000,1
 | 
				
			||||||
 | 
					15794566,Female,52,114000,0
 | 
				
			||||||
 | 
					15800890,Female,40,142000,1
 | 
				
			||||||
 | 
					15697424,Female,46,22000,0
 | 
				
			||||||
 | 
					15724536,Female,48,96000,1
 | 
				
			||||||
 | 
					15735878,Male,52,150000,1
 | 
				
			||||||
 | 
					15707596,Female,59,42000,0
 | 
				
			||||||
 | 
					15657163,Male,35,58000.0,0
 | 
				
			||||||
 | 
					15622478,Male,47.0,43000,0
 | 
				
			||||||
 | 
					15779529,Female,60,108000,1
 | 
				
			||||||
 | 
					15636023,Male,49,65000,0
 | 
				
			||||||
 | 
					15582066,Male,40,78000,0
 | 
				
			||||||
 | 
					15666675,Female,46,96000,0
 | 
				
			||||||
 | 
					15732987,Male,59,143000,1
 | 
				
			||||||
 | 
					15789432,Female,41,80000,0
 | 
				
			||||||
 | 
					15663161,Male,35,91000,1
 | 
				
			||||||
 | 
					15694879,Male,37,144000,1
 | 
				
			||||||
 | 
					15593715,Male,60,102000,1
 | 
				
			||||||
 | 
					15575002,Female,35,60000,0
 | 
				
			||||||
 | 
					15622171,Male,37,53000,0
 | 
				
			||||||
 | 
					15795224,Female,36,126000,1
 | 
				
			||||||
 | 
					15685346,Male,56,133000,1
 | 
				
			||||||
 | 
					15691808,Female,40,72000,0
 | 
				
			||||||
 | 
					15721007,Female,42,80000,1
 | 
				
			||||||
 | 
					15794253,Female,35,147000,1
 | 
				
			||||||
 | 
					15694453,Male,39,42000,0
 | 
				
			||||||
 | 
					15813113,Male,40,107000,1
 | 
				
			||||||
 | 
					15614187,Male,49,86000,1
 | 
				
			||||||
 | 
					15619407,Female,38,112000,0
 | 
				
			||||||
 | 
					15646227,Male,46,79000,1
 | 
				
			||||||
 | 
					15660541,Male,40,57000,0
 | 
				
			||||||
 | 
					15753874,Female,37,80000,0
 | 
				
			||||||
 | 
					15617877,Female,46,82000,0
 | 
				
			||||||
 | 
					15772073,Female,53,143000,1
 | 
				
			||||||
 | 
					15701537,Male,42,149000,1
 | 
				
			||||||
 | 
					15736228,Male,38,59000,0
 | 
				
			||||||
 | 
					15780572,Female,50,88000,1
 | 
				
			||||||
 | 
					15769596,Female,56,104000,1
 | 
				
			||||||
 | 
					15586996,Female,41,72000,0
 | 
				
			||||||
 | 
					15722061,Female,51,146000,1
 | 
				
			||||||
 | 
					15638003,Female,35,50000,0
 | 
				
			||||||
 | 
					15775590,Female,57,122000,1
 | 
				
			||||||
 | 
					15730688,Male,41,52000,0
 | 
				
			||||||
 | 
					15753102,Female,35,97000,1
 | 
				
			||||||
 | 
					15810075,Female,44,39000,0
 | 
				
			||||||
 | 
					15723373,Male,37,52000,0
 | 
				
			||||||
 | 
					15795298,Female,48,134000,1
 | 
				
			||||||
 | 
					15584320,Female,37,146000,1
 | 
				
			||||||
 | 
					15724161,Female,50,44000,0
 | 
				
			||||||
 | 
					15750056,Female,52,90000,1
 | 
				
			||||||
 | 
					15609637,Female,41,72000,0
 | 
				
			||||||
 | 
					15794493,Male,40,57000,0
 | 
				
			||||||
 | 
					15569641,Female,58,95000,1
 | 
				
			||||||
 | 
					15815236,Female,45,131000,1
 | 
				
			||||||
 | 
					15811177,Female,35,77000,0
 | 
				
			||||||
 | 
					15680587,Male,36,144000,1
 | 
				
			||||||
 | 
					15672821,Female,55,125000,1
 | 
				
			||||||
 | 
					15767681,Female,35,72000,0
 | 
				
			||||||
 | 
					15600379,Male,48,90000,1
 | 
				
			||||||
 | 
					15801336,Female,42,108000,1
 | 
				
			||||||
 | 
					15721592,Male,40,75000,0
 | 
				
			||||||
 | 
					15581282,Male,37,74000,0
 | 
				
			||||||
 | 
					15746203,Female,47,144000,1
 | 
				
			||||||
 | 
					15583137,Male,40,61000,0
 | 
				
			||||||
 | 
					15680752,Female,43,133000,0
 | 
				
			||||||
 | 
					15688172,Female,59,76000,1
 | 
				
			||||||
 | 
					15791373,Male,60,42000,1
 | 
				
			||||||
 | 
					15589449,Male,39,106000,1
 | 
				
			||||||
 | 
					15692819,Female,57,26000,1
 | 
				
			||||||
 | 
					15727467,Male,57,74000,1
 | 
				
			||||||
 | 
					15734312,Male,38,71000,0
 | 
				
			||||||
 | 
					15764604,Male,49,88000,1
 | 
				
			||||||
 | 
					15613014,Female,52,38000,1
 | 
				
			||||||
 | 
					15759684,Female,50,36000,1
 | 
				
			||||||
 | 
					15609669,Female,59,88000,1
 | 
				
			||||||
 | 
					15685536,Male,35,61000,0
 | 
				
			||||||
 | 
					15750447,Male,37,70000,1
 | 
				
			||||||
 | 
					15663249,Female,52,21000,1
 | 
				
			||||||
 | 
					15638646,Male,48,141000,0
 | 
				
			||||||
 | 
					15734161,Female,37,93000,1
 | 
				
			||||||
 | 
					15631070,Female,37,62000,0
 | 
				
			||||||
 | 
					15761950,Female,48,138000,1
 | 
				
			||||||
 | 
					15649668,Male,41,79000,0
 | 
				
			||||||
 | 
					15713912,Female,37,78000,1
 | 
				
			||||||
 | 
					15586757,Male,39,134000,1
 | 
				
			||||||
 | 
					15596522,Male,49,89000,1
 | 
				
			||||||
 | 
					15625395,Male,55,39000,1
 | 
				
			||||||
 | 
					15760570,Male,37,77000,0
 | 
				
			||||||
 | 
					15566689,Female,35,57000,0
 | 
				
			||||||
 | 
					15725794,Female,36,63000,0
 | 
				
			||||||
 | 
					15673539,Male,42,73000,1
 | 
				
			||||||
 | 
					15705298,Female,43,112000,1
 | 
				
			||||||
 | 
					15675791,Male,45,79000,0
 | 
				
			||||||
 | 
					15747043,Male,46,117000,1
 | 
				
			||||||
 | 
					15736397,Female,58,38000,1
 | 
				
			||||||
 | 
					15678201,Male,48,74000,1
 | 
				
			||||||
 | 
					15720745,Female,37,137000,1
 | 
				
			||||||
 | 
					15637593,Male,37,79000,1
 | 
				
			||||||
 | 
					15598070,Female,40,60000,0
 | 
				
			||||||
 | 
					15787550,Male,42,54000,0
 | 
				
			||||||
 | 
					15603942,Female,51,134000,0
 | 
				
			||||||
 | 
					15733973,Female,47,113000,1
 | 
				
			||||||
 | 
					15596761,Male,36,125000,1
 | 
				
			||||||
 | 
					15652400,Female,38,50000,0
 | 
				
			||||||
 | 
					15717893,Female,42,70000,0
 | 
				
			||||||
 | 
					15622585,Male,39,96000,1
 | 
				
			||||||
 | 
					15733964,Female,38,50000,0
 | 
				
			||||||
 | 
					15753861,Female,49,141000,1
 | 
				
			||||||
 | 
					15747097,Female,39,79000,0
 | 
				
			||||||
 | 
					15594762,Female,39,75000,1
 | 
				
			||||||
 | 
					15667417,Female,54,104000,1
 | 
				
			||||||
 | 
					15684861,Male,35,55000,0
 | 
				
			||||||
 | 
					15742204,Male,45,32000,1
 | 
				
			||||||
 | 
					15623502,Male,36,60000,0
 | 
				
			||||||
 | 
					15774872,Female,52,138000,1
 | 
				
			||||||
 | 
					15611191,Female,53,82000,1
 | 
				
			||||||
 | 
					15674331,Male,41,52000,0
 | 
				
			||||||
 | 
					15619465,Female,48,30000,1
 | 
				
			||||||
 | 
					15575247,Female,48,131000,1
 | 
				
			||||||
 | 
					15695679,Female,41,60000,0
 | 
				
			||||||
 | 
					15713463,Male,41,72000,0
 | 
				
			||||||
 | 
					15785170,Female,42,75000,0
 | 
				
			||||||
 | 
					15796351,Male,36,118000,1
 | 
				
			||||||
 | 
					15639576,Female,47,107000,1
 | 
				
			||||||
 | 
					15693264,Male,38,51000,0
 | 
				
			||||||
 | 
					15589715,Female,48,119000,1
 | 
				
			||||||
 | 
					15769902,Male,42,65000,0
 | 
				
			||||||
 | 
					15587177,Male,40,65000,0
 | 
				
			||||||
 | 
					15814553,Male,57,60000,1
 | 
				
			||||||
 | 
					15601550,Female,36,54000,0
 | 
				
			||||||
 | 
					15664907,Male,58,144000,1
 | 
				
			||||||
 | 
					15612465,Male,35,79000,0
 | 
				
			||||||
 | 
					15810800,Female,38,55000,0
 | 
				
			||||||
 | 
					15665760,Male,39,122000,1
 | 
				
			||||||
 | 
					15588080,Female,53,104000,1
 | 
				
			||||||
 | 
					15776844,Male,35,75000,0
 | 
				
			||||||
 | 
					15717560,Female,38,65000,0
 | 
				
			||||||
 | 
					15629739,Female,47,51000,1
 | 
				
			||||||
 | 
					15729908,Male,47,105000,1
 | 
				
			||||||
 | 
					15716781,Female,41,63000,0
 | 
				
			||||||
 | 
					15646936,Male,53,72000,1
 | 
				
			||||||
 | 
					15768151,Female,54,108000,1
 | 
				
			||||||
 | 
					15579212,Male,39,77000,0
 | 
				
			||||||
 | 
					15721835,Male,38,61000,0
 | 
				
			||||||
 | 
					15800515,Female,38,113000,1
 | 
				
			||||||
 | 
					15591279,Male,37,75000,0
 | 
				
			||||||
 | 
					15587419,Female,42,90000,1
 | 
				
			||||||
 | 
					15750335,Female,37,57000,0
 | 
				
			||||||
 | 
					15699619,Male,36,99000,1
 | 
				
			||||||
 | 
					15606472,Male,60,34000,1
 | 
				
			||||||
 | 
					15778368,Male,54,70000,1
 | 
				
			||||||
 | 
					15671387,Female,41,72000,0
 | 
				
			||||||
 | 
					15573926,Male,40,71000,1
 | 
				
			||||||
 | 
					15709183,Male,42,54000,0
 | 
				
			||||||
 | 
					15577514,Male,43,129000,1
 | 
				
			||||||
 | 
					15778830,Female,53,34000,1
 | 
				
			||||||
 | 
					15768072,Female,47,50000,1
 | 
				
			||||||
 | 
					15768293,Female,42,79000,0
 | 
				
			||||||
 | 
					15654456,Male,42,104000,1
 | 
				
			||||||
 | 
					15807525,Female,59,29000,1
 | 
				
			||||||
 | 
					15574372,Female,58,47000,1
 | 
				
			||||||
 | 
					15671249,Male,46,88000,1
 | 
				
			||||||
 | 
					15779744,Male,38,71000,0
 | 
				
			||||||
 | 
					15624755,Female,54,26000,1
 | 
				
			||||||
 | 
					15611430,Female,60,46000,1
 | 
				
			||||||
 | 
					15774744,Male,60,83000,1
 | 
				
			||||||
 | 
					15629885,Female,39,73000,0
 | 
				
			||||||
 | 
					15708791,Male,59,130000,1
 | 
				
			||||||
 | 
					15793890,Female,37,80000,0
 | 
				
			||||||
 | 
					15646091,Female,46,32000,1
 | 
				
			||||||
 | 
					15596984,Female,46,74000,0
 | 
				
			||||||
 | 
					15800215,Female,42,53000,0
 | 
				
			||||||
 | 
					15577806,Male,41,87000,1
 | 
				
			||||||
 | 
					15749381,Female,58,23000,1
 | 
				
			||||||
 | 
					15683758,Male,42,64000,0
 | 
				
			||||||
 | 
					15670615,Male,48,33000,1
 | 
				
			||||||
 | 
					15715622,Female,44,139000,1
 | 
				
			||||||
 | 
					15707634,Male,49,28000,1
 | 
				
			||||||
 | 
					15806901,Female,57,33000,1
 | 
				
			||||||
 | 
					15775335,Male,56,60000,1
 | 
				
			||||||
 | 
					15724150,Female,49,39000,1
 | 
				
			||||||
 | 
					15627220,Male,39,71000,0
 | 
				
			||||||
 | 
					15672330,Male,47,34000,1
 | 
				
			||||||
 | 
					15668521,Female,48,35000,1
 | 
				
			||||||
 | 
					15807837,Male,48,33000,1
 | 
				
			||||||
 | 
					15592570,Male,47,23000,1
 | 
				
			||||||
 | 
					15748589,Female,45,45000,1
 | 
				
			||||||
 | 
					15635893,Male,60,42000,1
 | 
				
			||||||
 | 
					15757632,Female,39,59000,0
 | 
				
			||||||
 | 
					15691863,Female,46,41000,1
 | 
				
			||||||
 | 
					15706071,Male,51,23000,1
 | 
				
			||||||
 | 
					15654296,Female,50,20000,1
 | 
				
			||||||
 | 
					15755018,Male,36,33000,0
 | 
				
			||||||
 | 
					15594041,Female,49,36000,1
 | 
				
			||||||
		
		
			
  | 
							
								
								
									
										51
									
								
								Partie 3 - Classification/regression_logistique.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								Partie 3 - Classification/regression_logistique.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					# Regression Logistique
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer les librairies
 | 
				
			||||||
 | 
					import numpy as np
 | 
				
			||||||
 | 
					import matplotlib.pyplot as plt
 | 
				
			||||||
 | 
					import pandas as pd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer le dataset
 | 
				
			||||||
 | 
					dataset = pd.read_csv('Social_Network_Ads.csv')
 | 
				
			||||||
 | 
					X = dataset.iloc[:, [2, 3]].values
 | 
				
			||||||
 | 
					y = dataset.iloc[:, -1].values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Diviser le dataset entre le Training set et le Test set
 | 
				
			||||||
 | 
					from sklearn.model_selection import train_test_split
 | 
				
			||||||
 | 
					X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Feature Scaling
 | 
				
			||||||
 | 
					from sklearn.preprocessing import StandardScaler
 | 
				
			||||||
 | 
					sc = StandardScaler()
 | 
				
			||||||
 | 
					X_train = sc.fit_transform(X_train)
 | 
				
			||||||
 | 
					X_test = sc.transform(X_test)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Construction du modèle
 | 
				
			||||||
 | 
					from sklearn.linear_model import LogisticRegression
 | 
				
			||||||
 | 
					classifier = LogisticRegression(random_state = 0)
 | 
				
			||||||
 | 
					classifier.fit(X_train, y_train)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Faire de nouvelles prédictions
 | 
				
			||||||
 | 
					y_pred = classifier.predict(X_test)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Matrice de confusion
 | 
				
			||||||
 | 
					from sklearn.metrics import confusion_matrix
 | 
				
			||||||
 | 
					cm = confusion_matrix(y_test, y_pred)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visualiser les résultats
 | 
				
			||||||
 | 
					from matplotlib.colors import ListedColormap
 | 
				
			||||||
 | 
					X_set, y_set = X_train, y_train
 | 
				
			||||||
 | 
					X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max() + 1, step = 0.01),
 | 
				
			||||||
 | 
					                     np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max() + 1, step = 0.01))
 | 
				
			||||||
 | 
					plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),
 | 
				
			||||||
 | 
					             alpha = 0.4, cmap = ListedColormap(('red', 'green')))
 | 
				
			||||||
 | 
					plt.xlim(X1.min(), X1.max())
 | 
				
			||||||
 | 
					plt.ylim(X2.min(), X2.max())
 | 
				
			||||||
 | 
					for i, j in enumerate(np.unique(y_set)):
 | 
				
			||||||
 | 
					    plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1],
 | 
				
			||||||
 | 
					                c = ListedColormap(('red', 'green'))(i), label = j)
 | 
				
			||||||
 | 
					plt.title('Résultats du Training set')
 | 
				
			||||||
 | 
					plt.xlabel('Age')
 | 
				
			||||||
 | 
					plt.ylabel('Salaire Estimé')
 | 
				
			||||||
 | 
					plt.legend()
 | 
				
			||||||
 | 
					plt.show()
 | 
				
			||||||
							
								
								
									
										51
									
								
								Partie 3 - Classification/svm.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								Partie 3 - Classification/svm.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					# SVM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer les librairies
 | 
				
			||||||
 | 
					import numpy as np
 | 
				
			||||||
 | 
					import matplotlib.pyplot as plt
 | 
				
			||||||
 | 
					import pandas as pd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer le dataset
 | 
				
			||||||
 | 
					dataset = pd.read_csv('Social_Network_Ads.csv')
 | 
				
			||||||
 | 
					X = dataset.iloc[:, [2, 3]].values
 | 
				
			||||||
 | 
					y = dataset.iloc[:, -1].values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Diviser le dataset entre le Training set et le Test set
 | 
				
			||||||
 | 
					from sklearn.model_selection import train_test_split
 | 
				
			||||||
 | 
					X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Feature Scaling
 | 
				
			||||||
 | 
					from sklearn.preprocessing import StandardScaler
 | 
				
			||||||
 | 
					sc = StandardScaler()
 | 
				
			||||||
 | 
					X_train = sc.fit_transform(X_train)
 | 
				
			||||||
 | 
					X_test = sc.transform(X_test)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Construction du modèle
 | 
				
			||||||
 | 
					from sklearn.svm import SVC
 | 
				
			||||||
 | 
					classifier = SVC(kernel = 'linear', random_state = 0)
 | 
				
			||||||
 | 
					classifier.fit(X_train, y_train)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Faire de nouvelles prédictions
 | 
				
			||||||
 | 
					y_pred = classifier.predict(X_test)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Matrice de confusion
 | 
				
			||||||
 | 
					from sklearn.metrics import confusion_matrix
 | 
				
			||||||
 | 
					cm = confusion_matrix(y_test, y_pred)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visualiser les résultats
 | 
				
			||||||
 | 
					from matplotlib.colors import ListedColormap
 | 
				
			||||||
 | 
					X_set, y_set = X_train, y_train
 | 
				
			||||||
 | 
					X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max() + 1, step = 0.01),
 | 
				
			||||||
 | 
					                     np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max() + 1, step = 0.01))
 | 
				
			||||||
 | 
					plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),
 | 
				
			||||||
 | 
					             alpha = 0.4, cmap = ListedColormap(('red', 'green')))
 | 
				
			||||||
 | 
					plt.xlim(X1.min(), X1.max())
 | 
				
			||||||
 | 
					plt.ylim(X2.min(), X2.max())
 | 
				
			||||||
 | 
					for i, j in enumerate(np.unique(y_set)):
 | 
				
			||||||
 | 
					    plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1],
 | 
				
			||||||
 | 
					                c = ListedColormap(('red', 'green'))(i), label = j)
 | 
				
			||||||
 | 
					plt.title('Résultats du Training set')
 | 
				
			||||||
 | 
					plt.xlabel('Age')
 | 
				
			||||||
 | 
					plt.ylabel('Salaire Estimé')
 | 
				
			||||||
 | 
					plt.legend()
 | 
				
			||||||
 | 
					plt.show()
 | 
				
			||||||
							
								
								
									
										201
									
								
								Partie 4 - Clustering/Mall_Customers.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										201
									
								
								Partie 4 - Clustering/Mall_Customers.csv
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,201 @@
 | 
				
			|||||||
 | 
					CustomerID,Genre,Age,Annual Income (k$),Spending Score (1-100)
 | 
				
			||||||
 | 
					0001,Male,19,15,39
 | 
				
			||||||
 | 
					0002,Male,21,15,81
 | 
				
			||||||
 | 
					0003,Female,20,16,6
 | 
				
			||||||
 | 
					0004,Female,23,16,77
 | 
				
			||||||
 | 
					0005,Female,31,17,40
 | 
				
			||||||
 | 
					0006,Female,22,17,76
 | 
				
			||||||
 | 
					0007,Female,35,18,6
 | 
				
			||||||
 | 
					0008,Female,23,18,94
 | 
				
			||||||
 | 
					0009,Male,64,19,3
 | 
				
			||||||
 | 
					0010,Female,30,19,72
 | 
				
			||||||
 | 
					0011,Male,67,19,14
 | 
				
			||||||
 | 
					0012,Female,35,19,99
 | 
				
			||||||
 | 
					0013,Female,58,20,15
 | 
				
			||||||
 | 
					0014,Female,24,20,77
 | 
				
			||||||
 | 
					0015,Male,37,20,13
 | 
				
			||||||
 | 
					0016,Male,22,20,79
 | 
				
			||||||
 | 
					0017,Female,35,21,35
 | 
				
			||||||
 | 
					0018,Male,20,21,66
 | 
				
			||||||
 | 
					0019,Male,52,23,29
 | 
				
			||||||
 | 
					0020,Female,35,23,98
 | 
				
			||||||
 | 
					0021,Male,35,24,35
 | 
				
			||||||
 | 
					0022,Male,25,24,73
 | 
				
			||||||
 | 
					0023,Female,46,25,5
 | 
				
			||||||
 | 
					0024,Male,31,25,73
 | 
				
			||||||
 | 
					0025,Female,54,28,14
 | 
				
			||||||
 | 
					0026,Male,29,28,82
 | 
				
			||||||
 | 
					0027,Female,45,28,32
 | 
				
			||||||
 | 
					0028,Male,35,28,61
 | 
				
			||||||
 | 
					0029,Female,40,29,31
 | 
				
			||||||
 | 
					0030,Female,23,29,87
 | 
				
			||||||
 | 
					0031,Male,60,30,4
 | 
				
			||||||
 | 
					0032,Female,21,30,73
 | 
				
			||||||
 | 
					0033,Male,53,33,4
 | 
				
			||||||
 | 
					0034,Male,18,33,92
 | 
				
			||||||
 | 
					0035,Female,49,33,14
 | 
				
			||||||
 | 
					0036,Female,21,33,81
 | 
				
			||||||
 | 
					0037,Female,42,34,17
 | 
				
			||||||
 | 
					0038,Female,30,34,73
 | 
				
			||||||
 | 
					0039,Female,36,37,26
 | 
				
			||||||
 | 
					0040,Female,20,37,75
 | 
				
			||||||
 | 
					0041,Female,65,38,35
 | 
				
			||||||
 | 
					0042,Male,24,38,92
 | 
				
			||||||
 | 
					0043,Male,48,39,36
 | 
				
			||||||
 | 
					0044,Female,31,39,61
 | 
				
			||||||
 | 
					0045,Female,49,39,28
 | 
				
			||||||
 | 
					0046,Female,24,39,65
 | 
				
			||||||
 | 
					0047,Female,50,40,55
 | 
				
			||||||
 | 
					0048,Female,27,40,47
 | 
				
			||||||
 | 
					0049,Female,29,40,42
 | 
				
			||||||
 | 
					0050,Female,31,40,42
 | 
				
			||||||
 | 
					0051,Female,49,42,52
 | 
				
			||||||
 | 
					0052,Male,33,42,60
 | 
				
			||||||
 | 
					0053,Female,31,43,54
 | 
				
			||||||
 | 
					0054,Male,59,43,60
 | 
				
			||||||
 | 
					0055,Female,50,43,45
 | 
				
			||||||
 | 
					0056,Male,47,43,41
 | 
				
			||||||
 | 
					0057,Female,51,44,50
 | 
				
			||||||
 | 
					0058,Male,69,44,46
 | 
				
			||||||
 | 
					0059,Female,27,46,51
 | 
				
			||||||
 | 
					0060,Male,53,46,46
 | 
				
			||||||
 | 
					0061,Male,70,46,56
 | 
				
			||||||
 | 
					0062,Male,19,46,55
 | 
				
			||||||
 | 
					0063,Female,67,47,52
 | 
				
			||||||
 | 
					0064,Female,54,47,59
 | 
				
			||||||
 | 
					0065,Male,63,48,51
 | 
				
			||||||
 | 
					0066,Male,18,48,59
 | 
				
			||||||
 | 
					0067,Female,43,48,50
 | 
				
			||||||
 | 
					0068,Female,68,48,48
 | 
				
			||||||
 | 
					0069,Male,19,48,59
 | 
				
			||||||
 | 
					0070,Female,32,48,47
 | 
				
			||||||
 | 
					0071,Male,70,49,55
 | 
				
			||||||
 | 
					0072,Female,47,49,42
 | 
				
			||||||
 | 
					0073,Female,60,50,49
 | 
				
			||||||
 | 
					0074,Female,60,50,56
 | 
				
			||||||
 | 
					0075,Male,59,54,47
 | 
				
			||||||
 | 
					0076,Male,26,54,54
 | 
				
			||||||
 | 
					0077,Female,45,54,53
 | 
				
			||||||
 | 
					0078,Male,40,54,48
 | 
				
			||||||
 | 
					0079,Female,23,54,52
 | 
				
			||||||
 | 
					0080,Female,49,54,42
 | 
				
			||||||
 | 
					0081,Male,57,54,51
 | 
				
			||||||
 | 
					0082,Male,38,54,55
 | 
				
			||||||
 | 
					0083,Male,67,54,41
 | 
				
			||||||
 | 
					0084,Female,46,54,44
 | 
				
			||||||
 | 
					0085,Female,21,54,57
 | 
				
			||||||
 | 
					0086,Male,48,54,46
 | 
				
			||||||
 | 
					0087,Female,55,57,58
 | 
				
			||||||
 | 
					0088,Female,22,57,55
 | 
				
			||||||
 | 
					0089,Female,34,58,60
 | 
				
			||||||
 | 
					0090,Female,50,58,46
 | 
				
			||||||
 | 
					0091,Female,68,59,55
 | 
				
			||||||
 | 
					0092,Male,18,59,41
 | 
				
			||||||
 | 
					0093,Male,48,60,49
 | 
				
			||||||
 | 
					0094,Female,40,60,40
 | 
				
			||||||
 | 
					0095,Female,32,60,42
 | 
				
			||||||
 | 
					0096,Male,24,60,52
 | 
				
			||||||
 | 
					0097,Female,47,60,47
 | 
				
			||||||
 | 
					0098,Female,27,60,50
 | 
				
			||||||
 | 
					0099,Male,48,61,42
 | 
				
			||||||
 | 
					0100,Male,20,61,49
 | 
				
			||||||
 | 
					0101,Female,23,62,41
 | 
				
			||||||
 | 
					0102,Female,49,62,48
 | 
				
			||||||
 | 
					0103,Male,67,62,59
 | 
				
			||||||
 | 
					0104,Male,26,62,55
 | 
				
			||||||
 | 
					0105,Male,49,62,56
 | 
				
			||||||
 | 
					0106,Female,21,62,42
 | 
				
			||||||
 | 
					0107,Female,66,63,50
 | 
				
			||||||
 | 
					0108,Male,54,63,46
 | 
				
			||||||
 | 
					0109,Male,68,63,43
 | 
				
			||||||
 | 
					0110,Male,66,63,48
 | 
				
			||||||
 | 
					0111,Male,65,63,52
 | 
				
			||||||
 | 
					0112,Female,19,63,54
 | 
				
			||||||
 | 
					0113,Female,38,64,42
 | 
				
			||||||
 | 
					0114,Male,19,64,46
 | 
				
			||||||
 | 
					0115,Female,18,65,48
 | 
				
			||||||
 | 
					0116,Female,19,65,50
 | 
				
			||||||
 | 
					0117,Female,63,65,43
 | 
				
			||||||
 | 
					0118,Female,49,65,59
 | 
				
			||||||
 | 
					0119,Female,51,67,43
 | 
				
			||||||
 | 
					0120,Female,50,67,57
 | 
				
			||||||
 | 
					0121,Male,27,67,56
 | 
				
			||||||
 | 
					0122,Female,38,67,40
 | 
				
			||||||
 | 
					0123,Female,40,69,58
 | 
				
			||||||
 | 
					0124,Male,39,69,91
 | 
				
			||||||
 | 
					0125,Female,23,70,29
 | 
				
			||||||
 | 
					0126,Female,31,70,77
 | 
				
			||||||
 | 
					0127,Male,43,71,35
 | 
				
			||||||
 | 
					0128,Male,40,71,95
 | 
				
			||||||
 | 
					0129,Male,59,71,11
 | 
				
			||||||
 | 
					0130,Male,38,71,75
 | 
				
			||||||
 | 
					0131,Male,47,71,9
 | 
				
			||||||
 | 
					0132,Male,39,71,75
 | 
				
			||||||
 | 
					0133,Female,25,72,34
 | 
				
			||||||
 | 
					0134,Female,31,72,71
 | 
				
			||||||
 | 
					0135,Male,20,73,5
 | 
				
			||||||
 | 
					0136,Female,29,73,88
 | 
				
			||||||
 | 
					0137,Female,44,73,7
 | 
				
			||||||
 | 
					0138,Male,32,73,73
 | 
				
			||||||
 | 
					0139,Male,19,74,10
 | 
				
			||||||
 | 
					0140,Female,35,74,72
 | 
				
			||||||
 | 
					0141,Female,57,75,5
 | 
				
			||||||
 | 
					0142,Male,32,75,93
 | 
				
			||||||
 | 
					0143,Female,28,76,40
 | 
				
			||||||
 | 
					0144,Female,32,76,87
 | 
				
			||||||
 | 
					0145,Male,25,77,12
 | 
				
			||||||
 | 
					0146,Male,28,77,97
 | 
				
			||||||
 | 
					0147,Male,48,77,36
 | 
				
			||||||
 | 
					0148,Female,32,77,74
 | 
				
			||||||
 | 
					0149,Female,34,78,22
 | 
				
			||||||
 | 
					0150,Male,34,78,90
 | 
				
			||||||
 | 
					0151,Male,43,78,17
 | 
				
			||||||
 | 
					0152,Male,39,78,88
 | 
				
			||||||
 | 
					0153,Female,44,78,20
 | 
				
			||||||
 | 
					0154,Female,38,78,76
 | 
				
			||||||
 | 
					0155,Female,47,78,16
 | 
				
			||||||
 | 
					0156,Female,27,78,89
 | 
				
			||||||
 | 
					0157,Male,37,78,1
 | 
				
			||||||
 | 
					0158,Female,30,78,78
 | 
				
			||||||
 | 
					0159,Male,34,78,1
 | 
				
			||||||
 | 
					0160,Female,30,78,73
 | 
				
			||||||
 | 
					0161,Female,56,79,35
 | 
				
			||||||
 | 
					0162,Female,29,79,83
 | 
				
			||||||
 | 
					0163,Male,19,81,5
 | 
				
			||||||
 | 
					0164,Female,31,81,93
 | 
				
			||||||
 | 
					0165,Male,50,85,26
 | 
				
			||||||
 | 
					0166,Female,36,85,75
 | 
				
			||||||
 | 
					0167,Male,42,86,20
 | 
				
			||||||
 | 
					0168,Female,33,86,95
 | 
				
			||||||
 | 
					0169,Female,36,87,27
 | 
				
			||||||
 | 
					0170,Male,32,87,63
 | 
				
			||||||
 | 
					0171,Male,40,87,13
 | 
				
			||||||
 | 
					0172,Male,28,87,75
 | 
				
			||||||
 | 
					0173,Male,36,87,10
 | 
				
			||||||
 | 
					0174,Male,36,87,92
 | 
				
			||||||
 | 
					0175,Female,52,88,13
 | 
				
			||||||
 | 
					0176,Female,30,88,86
 | 
				
			||||||
 | 
					0177,Male,58,88,15
 | 
				
			||||||
 | 
					0178,Male,27,88,69
 | 
				
			||||||
 | 
					0179,Male,59,93,14
 | 
				
			||||||
 | 
					0180,Male,35,93,90
 | 
				
			||||||
 | 
					0181,Female,37,97,32
 | 
				
			||||||
 | 
					0182,Female,32,97,86
 | 
				
			||||||
 | 
					0183,Male,46,98,15
 | 
				
			||||||
 | 
					0184,Female,29,98,88
 | 
				
			||||||
 | 
					0185,Female,41,99,39
 | 
				
			||||||
 | 
					0186,Male,30,99,97
 | 
				
			||||||
 | 
					0187,Female,54,101,24
 | 
				
			||||||
 | 
					0188,Male,28,101,68
 | 
				
			||||||
 | 
					0189,Female,41,103,17
 | 
				
			||||||
 | 
					0190,Female,36,103,85
 | 
				
			||||||
 | 
					0191,Female,34,103,23
 | 
				
			||||||
 | 
					0192,Female,32,103,69
 | 
				
			||||||
 | 
					0193,Male,33,113,8
 | 
				
			||||||
 | 
					0194,Female,38,113,91
 | 
				
			||||||
 | 
					0195,Female,47,120,16
 | 
				
			||||||
 | 
					0196,Female,35,120,79
 | 
				
			||||||
 | 
					0197,Female,45,126,28
 | 
				
			||||||
 | 
					0198,Male,32,126,74
 | 
				
			||||||
 | 
					0199,Male,32,137,18
 | 
				
			||||||
 | 
					0200,Male,30,137,83
 | 
				
			||||||
		
		
			
  | 
							
								
								
									
										39
									
								
								Partie 4 - Clustering/k_means.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								Partie 4 - Clustering/k_means.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					# K-Means
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer les librairies
 | 
				
			||||||
 | 
					import numpy as np
 | 
				
			||||||
 | 
					import matplotlib.pyplot as plt
 | 
				
			||||||
 | 
					import pandas as pd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Importer le dataset
 | 
				
			||||||
 | 
					dataset = pd.read_csv('Mall_Customers.csv')
 | 
				
			||||||
 | 
					X = dataset.iloc[:, [3, 4]].values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Utiliser la méthode elbow pour trouver le nombre optimal de clusters
 | 
				
			||||||
 | 
					from sklearn.cluster import KMeans
 | 
				
			||||||
 | 
					wcss = []
 | 
				
			||||||
 | 
					for i in range(1, 11):
 | 
				
			||||||
 | 
					    kmeans = KMeans(n_clusters = i, init = 'k-means++', random_state = 0)
 | 
				
			||||||
 | 
					    kmeans.fit(X)
 | 
				
			||||||
 | 
					    wcss.append(kmeans.inertia_)
 | 
				
			||||||
 | 
					plt.plot(range(1, 11), wcss)
 | 
				
			||||||
 | 
					plt.title('La méthode Elbow')
 | 
				
			||||||
 | 
					plt.xlabel('Nombre de clusters')
 | 
				
			||||||
 | 
					plt.ylabel('WCSS')
 | 
				
			||||||
 | 
					plt.show()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Construction du modèle
 | 
				
			||||||
 | 
					from sklearn.cluster import KMeans
 | 
				
			||||||
 | 
					kmeans = KMeans(n_clusters = 5, init = 'k-means++', random_state = 0)
 | 
				
			||||||
 | 
					y_kmeans = kmeans.fit_predict(X)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visualiser les résultats
 | 
				
			||||||
 | 
					plt.scatter(X[y_kmeans == 1, 0], X[y_kmeans == 1, 1], c = 'red', label = 'Cluster 1')
 | 
				
			||||||
 | 
					plt.scatter(X[y_kmeans == 2, 0], X[y_kmeans == 2, 1], c = 'blue', label = 'Cluster 2')
 | 
				
			||||||
 | 
					plt.scatter(X[y_kmeans == 3, 0], X[y_kmeans == 3, 1], c = 'green', label = 'Cluster 3')
 | 
				
			||||||
 | 
					plt.scatter(X[y_kmeans == 4, 0], X[y_kmeans == 4, 1], c = 'cyan', label = 'Cluster 4')
 | 
				
			||||||
 | 
					plt.scatter(X[y_kmeans == 0, 0], X[y_kmeans == 0, 1], c = 'magenta', label = 'Cluster 5')
 | 
				
			||||||
 | 
					plt.title('Clusters de clients')
 | 
				
			||||||
 | 
					plt.xlabel('Salaire annuel')
 | 
				
			||||||
 | 
					plt.ylabel('Spending Score')
 | 
				
			||||||
 | 
					plt.legend()
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user