Skip to content
Snippets Groups Projects
Commit 4c8ab9a1 authored by SUR Frederic's avatar SUR Frederic
Browse files

Delete TP5_ex3_sujet.ipynb

parent 0676fc9d
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
# Introduction à l'apprentissage automatique: TP5 - Exercice 3
<br>
### Prédiction de la qualité de vins
Le dataset suivant:
https://www.openml.org/d/40691
fournit la description de 1599 vins rouges: 12 mesures physico-chimiques ainsi qu'un critère qualitatif donné comme une note entre 3 et 8 (plus haute est la note, meilleur est le vin).
Remarquez que les 12 caractéristiques doivent être normalisées.
La cellule suivante charge les données, construit des bases d'apprentissage et de test, et normalise les caractéristiques.
%% Cell type:code id: tags:
``` python
from sklearn import datasets, metrics, neural_network, svm, model_selection, preprocessing
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# chargement des données
X_wine, y_wine = datasets.fetch_openml('wine-quality-red', return_X_y=True, as_frame=False)
n_samples = len(X_wine)
print("nombre total d'observations (apprentissage + test): %d" % n_samples)
n_features = len(X_wine[0])
print("nombre de caractéristiques par observation: %d" % n_features)
X_train, X_test, y_train, y_test = model_selection.train_test_split(X_wine, y_wine, test_size=0.3, random_state=1)
print("nombre d'observations dans la base d'apprentissage: %d" %len(X_train))
print("nombre d'observations dans la base de test: %d" %len(X_test))
print("\n Cinq premières observations de X_train:")
print(X_train[:5,:])
print("\n et classes associées:")
print(y_train[:5])
# normalisation:
X_train_n = preprocessing.StandardScaler().fit_transform(X_train)
X_test_n = preprocessing.StandardScaler().fit(X_train).transform(X_test)
```
%% Cell type:markdown id: tags:
Deux remarques:
- Certaines caractéristiques semblent corrélées (on pourrait le vérifier en traçant des graphiques et en calculant des coefficients de corrélation comme dans le cours d'analyse de données): il serait sans doute pertinent d'essayer de réduire la dimension des observations.
- Nous allons envisager ce problème comme un problème de classification à 6 classes (les notes de 3 à 8). Néanmoins, il ne semblerait pas absurde de l'envisager comme un problème de régression.
<br>
Proposez des prédicteurs de la qualité en fonction des 12 mesures physico-chimiques. Vous explorerez les machines à vecteurs supports et les perceptrons multicouches, dont vous fixerez les hyperparamètres par _grid search_ et validation croisée.
<br>
Comparez vos résultats à ceux reportés ici:
https://www.openml.org/t/146217
(en vous demandant si les valeurs sont bien comparables)
%% Cell type:code id: tags:
``` python
# votre code ici:
```
%% Cell type:code id: tags:
``` python
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment