silico.biotoul.fr
 

M1 MABS BBS Data Mining TD KNIME

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m
m
Line 9: Line 9:
= Classification =
= Classification =
 +
 +
== Utilisation d'un environnement de fouille de données ==
Pour cette partie, nous allons principalement utiliser l'environnement pour la fouille de données [http://www.knime.org/ KNIME]. C'est un logiciel en Java développé à l'origine par l'université de Constance (Allemagne).  
Pour cette partie, nous allons principalement utiliser l'environnement pour la fouille de données [http://www.knime.org/ KNIME]. C'est un logiciel en Java développé à l'origine par l'université de Constance (Allemagne).  
Line 26: Line 28:
Quel est le classificateur le plus performant sur ce jeu de données ?
Quel est le classificateur le plus performant sur ce jeu de données ?
 +
 +
== Utilisation d'une bibliothèque de programmation ==
 +
Afin d'automatiser la réalisation de certaines tâches, il est possible d'utiliser une librairie/module/bibliothèque proposant des fonctionnalités de fouilles de données. Il en existe pour différents langages de programmation, certaines proposant également une interface utilisateur graphique et/ou des passerelles pour d'autres langages de programmation (ex: RWeka) :
 +
* [http://orange.biolab.si/ Orange] pour python
 +
* [http://www.cs.waikato.ac.nz/ml/weka/ WEKA] pour Java
 +
* ...
 +
 +
Pour aujourd'hui, nous utiliserons Orange.
 +
 +
=== Import de la librairie ===
 +
Si la librairie n'est pas installée, elle peut l'être en téléchargeant la version appropriée (Windows, Mac ou linux). Pour linux, il faut récupérer les sources et en effectuer une installation standard :
 +
<source lang="bash">
 +
python setup.py build
 +
python setup.py install
 +
</source>
Jeu de données : [[Media:training_clinical_info.csv]]
Jeu de données : [[Media:training_clinical_info.csv]]

Revision as of 08:57, 16 November 2011

Contents

Contexte

Afin de mettre en pratique les concepts vus en cours, nous allons nous appuyer sur un jeu de données associées à la publication (Ivshina et al. (2006) Cancer Research) consistant en des données cliniques sur des patientes atteintes d'un cancer du sein ainsi que de données de transcriptome.

Pour le choix du traitement d'un cancer du sein, les décisions sont guidées par la détermination du potentiel métastatique des tumeurs. Des mesures cliniques sont utilisées afin d'évaluer ce potentiel (état du ganglion lymphatique, taille de la tumeur) et prédire la réactivité endocrine (récepteurs à l'oestrogène et à la progestérone) résultant en une classification des tumeurs en sous-types associés à un pronostic. Dans cette étude, les auteurs soulignent les défauts (manque de précision, subjectivité des évaluations) de tels indicateurs et proposent d'identifier et d'utiliser une signature génétique, c'est-à-dire les profils d'expression de certains gènes marqueurs, pour améliorer la précision de la classification des sous-types de tumeurs et les pronostics associés.

Le système d'évaluation de Nottingham intègre des mesures de différentiation cellulaire et de potentiel réplicatif, et fournit un score qui quantifie l'agressivité d'une tumeur. Les tumeurs sont ainsi classées en type G1 (cellules bien différenciées à croissance lente), G2 (différenciation modérée) et G3 (cellules faiblement différenciées et très prolifératives). Des études ont montré que ce classement permet de bien prédire les risques de récidives et de décès indépendamment de l'état des ganglions lymphatiques et de la taille des tumeurs. En revanche pour la planification des traitements thérapeutiques, cette classification a fait l'objet de controverse parmi les oncologues. De plus, les types G1 et G3 ont une pertinence clinique plus évidente que le type G2, plus hétérogène, et qui représente la moitié des cas de cancer du sein.

Dans ce TD, nous allons étudier la répartition et la valeur prédictive de ces différentes variables à partir d'un jeu de données de 289 tumeurs pour lesquelles on dispose de certaines informations cliniques.

Classification

Utilisation d'un environnement de fouille de données

Pour cette partie, nous allons principalement utiliser l'environnement pour la fouille de données KNIME. C'est un logiciel en Java développé à l'origine par l'université de Constance (Allemagne).

La première étape consiste à charger les données. Dans KNIME, ajoutez un noeud File Reader (section IO pour Input/Output) et configurez-le afin de charger le fichier Media:training_clinical_info.csv.

Comme premier exercice, ajoutez un noeud Decision Tree Learner (induction d'arbre de décision) et connectez la sortie du File Reader à l'entrée du Decision Tree Learner. Configurez ce dernier pour qu'il cherche à prédire le type de tumeur. Lancez l'éxécution de ces noeuds et visualisez l'arbre de décision induit. Quels sont les variables les plus importantes ? Comparez les résultats avec ou sans élagage.

Ensuite, évaluez les performance de ce type de classificateur en ajoutant et en configurant un noeud Cross validation (section Meta). Vous lui ferez effectuer une leave-one-out cross validation. Examiner ensuite le taux d'erreurs à l'aide d'un noeud Statistics view.

Effectuer le même travail avec les types de classificateur suivants :

  • Bayésien naïf,
  • k plus proches voisins (essayez différentes valeurs de k),
  • Réseau de neurones.

Quel est le problème rencontré par k-NN ?

Quel est le classificateur le plus performant sur ce jeu de données ?

Utilisation d'une bibliothèque de programmation

Afin d'automatiser la réalisation de certaines tâches, il est possible d'utiliser une librairie/module/bibliothèque proposant des fonctionnalités de fouilles de données. Il en existe pour différents langages de programmation, certaines proposant également une interface utilisateur graphique et/ou des passerelles pour d'autres langages de programmation (ex: RWeka) :

Pour aujourd'hui, nous utiliserons Orange.

Import de la librairie

Si la librairie n'est pas installée, elle peut l'être en téléchargeant la version appropriée (Windows, Mac ou linux). Pour linux, il faut récupérer les sources et en effectuer une installation standard :

python setup.py build
python setup.py install

Jeu de données : Media:training_clinical_info.csv