Groupe Biopuces
February 29, 2024
Analyse descriptive/explicative
Faire un modèle pour expliquer (décrire) ce qu’il y a dans les données (la force d’une relation, l’intensité de phénomènes observés sur les données, …).
Analyse prédictive
Construire un modèle pour catégoriser (prédire) sur un individu une caractéristique inconnue.
Objectif : séparer ce qui est de la tendance et ce qui est du bruit.
plus de biais, moins de variance
plus de variance, moins de biais
On cherche le modèle le plus simple qui donne les meilleurs résultats.
On ajuste un modèle jusqu’à avoir de bons résultats (ajustement des paramètres, choix des variables, …).
Processus itératif.
On teste/valide ce modèle..
Classiquement 60%/40%, 70%/30% ou 80%/20%.
train : l’échantillon sur lequel on va ajuster le modèle.
test : l’échantillon sur lequel on va vérifier que le modèle s’applique bien à un autre jeu de données.
L’échantillon test ne doit JAMAIS être utilisé pendant la phase d’entraînement
N’empêche pas le sur-apprentissage !
L’échantillon de validation va nous servir à valider le modèle, pendant la phase d’entraînement.
N’empêche toujours pas le sur-apprentissage !
On trouve au choix :
On peut contrôler :
Exemple dans un problème de classification on essaie de prédire Y qui est distribué 1: 5% et 0: 95%.
Selon les modèles on n’est pas obligé d’avoir 50/50. Ex. Arbres : 5/10% peuvent suffire.
Et aussi :
Des individus ressemblant à ceux de la classe minoritaire sont générés. 2 paramètres, \(k\) et \(\alpha\). moyenne pondérée d’un voisin parmi les k plus proches.
Technique basée sur le bootstrap et des méthodes à noyaux. Génère des individus artificiels autour des individus. 2 paramètres à ajuster.
Peut être pris en compte directement par l’algorithme (à ne pas combiner avec un rééquilibrage).
Pris en compte sur l’erreur de classification :
Dans tous les cas, une méthode mal utilisée peut accroître les biais du modèle.
Risque aigu.
Augmenter la taille des données
Rechercher des modèles simples : regrouper classes, diminuer le nombre de variables.
Pour modèles d’arbres : diminuer la profondeur max, …
Attention aux aberrants
Faire de la sélection de variables
LOOCV est bien adaptée quand il y a peu de données
Paramètres = estimés par le modèle \(\neq\) Hyperparamètres fixés avant de faire tourner le modèle.
Exemple :
\[ y = \alpha + \beta x + \epsilon \]
Puis on introduit une pénalité g(x) plus ou moins forte (> 0) :
\[ y = \alpha + \beta x + \epsilon + \lambda g(x) \]
A combien doit-on fixer \(\lambda\) ?
Ou \(mtry\) dans les randomforests, …
Les différents paramètres sont à ajuster pendant le processus d’entrainement, le taux de rééchantillonnage peut l’être aussi.
Techniques :
Il existe des optimiseurs pour les hyperparamètres (voir par exemple {tune}
).
Trouver un compromis entre biais et variance.
Présentation Biopuces
Comment diviser les données ?
Pour la division train/test :
Simple tirage aléatoire
On va tirer aléatoirement 30% (ou 20% ou 40%) des données totales pour former l’échantillon test. Le reste formera l’échantillon d’apprentissage.
Tirage aléatoire stratifié
On veut que la distribution de la variable à expliquer (cible) soit la même dans les échantillons. Le tirage se fait soit par quantile (var. continue) soit par classe (var. catégorielle). Parfois utile par exemple dans des distributions déséquilibrées.
Dans tous les cas toujours fixer une graine pour pouvoir reproduire le tirage (par ex. en R :
set.seed()
`).