Académique Documents
Professionnel Documents
Culture Documents
utilisant Scikit-Learn
Nesrine Ammar
26-02-2019
PROGRES
Introduction
Introduction
Définition
• Machine Learning is the science of programming computers so they
can learn from data.
Apprentissage supervisé:
La valeur exacte est donnée
Problème de régression:
Les données sont labélisées
Valeurs sont continues
Apprentissage supervisé
Bénigne (1)
Maligne (0)
Taille de tumeur
Problème de classification:
Valeurs sont discrètes
Apprentissage supervisé avec 2 attributs
Age
Taille de tumeur
Apprentissage supervisé
Type de cellule
Taux des globules
Age Type de sang
…
Taille de tumeur
Apprentissage supervisé
2 types d’apprentissage supervisé: Régression vs classification
X2
X1
Apprentissage non-supervisé
• Inférer des connaissances sur les données
Problème de régression:
Le modèle retourne une
valeur continue
Problème d’apprentissage: Régression linaire
Surface( X) Prix (Y) Notation:
2000 480
• m nombre des exemples des données
• X attributs (valeurs d’entrées)
600 150 • Y sortie des données
• (x,y) est 1 exemple d’apprentissage
500 128
Algorithme
d’apprentissage
Nouvelles Prix
h estimée
surface
Def load_housing(housing_path=path):
csv_path = os.path.join(path, ‘housing.csv’)
dataset = pd.read_csv(csv_path)
Télécharger les données
Visualiser les données
Import sklearn
Import pandas as pd
Import matplot.pyplot as plt
housing = load_housing()
housing.head() → Premiers 5 lignes
housing.info() → numéro des colonnes/lignes/les attributs…
housing[‘ocean proximity’].value_counts() → nombre d’exemples par catégorie de l’attribut
housing.hist(bins=50, figsize=(20,15)) → histogramme par chaque attribut
Plt.show()
Préparer les données de teste
Import sklearn
Import pandas as pd
Import numpy as np
Import matplot.pyplot as plt
Housing.shape()
train_set, test_set = housing[:400], housing[400:]
corr_matrix= train_set.corr()
corr_matrix[‘rooms’].sort_values(ascending=False)
Apprentissage: LinearRegression
Import sklearn
Import pandas as pd
Import numpy as np
y_train= train_set[‘labels’]
X_train= train_set.drop(‘labels’, axis=1)
Some_data = X_train[:3]
Some_labels = y_train[:3]
Print (‘predictions:’, lin_reg.predict(some_data))
→ Test on the train set using mean squareerror (make predictions on train set)
housing_predictions = lin_reg.predict(X_train)
Lin_mse = mean_squared_error(y_train, housing_predictions)
Print lin_mse
>> 68,000
Apprentissage: DecisionTree
Import sklearn
Import pandas as pd
Import numpy as np
From sklearn.linear_model import DecisionTree
dtree= DecisionTree()
dtree.fit(train_set,train_labels)
Housing_predictions = dtree.predict(X_train)
Lin_mse = mean_squared_error(y_train, housing_predictions)
Print lin_mse
>> 0,0
Apprentissage: Validation croisée
La validation croisée va nous permettre d’utiliser
l'intégralité de notre jeu de données pour
l’entraînement et pour la validation
mean_squared_error(y, y_pred)
• On sépare donc les données entre un jeu d’entraînement, sur lequel on apprend le
modèle, et un jeu de test, sur lequel on l’évalue.
• Pour utiliser l’intégralité de nos données pour entraîner et pour tester, et pour éviter un
biais potentiel lié au fait de faire une évaluation unique, on préfère faire une validation
croisée.
dtree= DecisionTree(max_depth=2)
dtree.fit(train_set,train_labels)
Evaluer sur les données de test
Import sklearn
Import pandas as pd
Import numpy as np
From sklearn.linear_model import DecisionTree
predictions = lin_reg.predict(X_test)
dataset = pd.read_csv(csv_path)
y= dataset[‘labels’]
X= dataset(‘labels’, axis=1)
Print X.shape, y.shape
>> (70000, 784), (70000,)
Sgd_clf = SGDClassifier()
Sgd_clf.fit(X_train, y_train_5)
Sgd_clf = SGDClassifier()
Sgd_clf.fit(X_train, y_train)
Sgd_clf.predict_proba([un chiffre])
>> [0.1, 0 , 0, 0.1, 0, 0.8 , 0, 0, 0, 0]
Pandas >>> index = df.index
>>> columns = df.columns
>>> values = df.values
>>> import pandas as pd
>>> import numpy as np >>> index
>>> df = pd.read_csv('data/sample_data.csv', index_col=0) Index(['Jane', 'Niko', 'Aaron', 'Penelope', 'Dean', 'Christina',
>>> df 'Cornelia'], dtype='object’)
>>> columns
Index(['state', 'color', 'food', 'age', 'height', 'score'],
dtype='object’)
>>> values
array([['NY', 'blue', 'Steak', 30, 165, 4.6],
['TX', 'green', 'Lamb', 2, 70, 8.3],
['FL', 'red', 'Mango', 12, 120, 9.0],
['AL', 'white', 'Apple', 4, 80, 3.3],
['AK', 'gray', 'Cheese', 32, 180, 1.8],
['TX', 'black', 'Melon', 33, 172, 9.5],
['TX', 'red', 'Beans', 69, 150, 2.2]], dtype=object)
Pandas
>>> df['food'] >>> df[['color', 'food', 'score']] df[['height', 'color']]
>>> df.loc[['Penelope','Cornelia'], :]