Reproduction du tableau 18.1 de «Elements of Statistical Learning»

13

Le tableau 18.1 des éléments de l'apprentissage statistique résume les performances de plusieurs classificateurs sur un ensemble de données de 14 classes. Je compare un nouvel algorithme avec le lasso et le filet élastique pour de tels problèmes de classification multiclasse.

En utilisant la glmnetversion 1.5.3 (R 2.13.0), je ne suis pas en mesure de reproduire le point 7. (le multinomial -pénalisé) dans le tableau, où le nombre de gènes utilisés est de 269 et l'erreur de test est de 13. de 54. Les données utilisées sont cet ensemble de données de microréseaux de 14 cancers . Quoi que j'aie essayé, j'obtiens un modèle le plus performant en utilisant au voisinage de 170 à 180 gènes avec une erreur de test de 16 sur 54.L1

Notez qu'au début de la section 18.3, page 654, un certain prétraitement des données est décrit.

J'ai contacté les auteurs - jusqu'à présent sans réponse - et je demande si quelqu'un peut confirmer qu'il y a un problème dans la reproduction du tableau ou fournir une solution sur la façon de reproduire le tableau.

NRH
la source
1
glmnet a subi pas mal de changements récemment et a eu quelques problèmes avec les chiffres dans le passé. Est-ce peut-être dû à cela? Depuis combien de temps avez-vous contacté les auteurs? Je vois que la version actuelle est 1.7 et a été téléchargée sur CRAN il y a seulement environ une semaine.
cardinal
@cardinal, cela faisait environ quatre semaines depuis que j'ai fait les dernières expériences avec glmnet, mais nous avons également une implémentation différente qui produit des résultats similaires non cohérents avec le tableau en ESL. La table est définitivement plus ancienne, donc je suppose que la table n'est pas correcte, mais ce serait bien de savoir avec certitude.
NRH
J'ai très brièvement survolé ces sections et une question qui m'est venue à l'esprit était de savoir comment la validation croisée a été effectuée pour choisir le paramètre de rétrécissement dans (18.19) à la page 661 (troisième impression). Une idée? Peut-être que je l'ai raté ou que c'est décrit ailleurs? Cela semble être un endroit probable où vos tentatives pour recréer leur analyse pourraient être sensibles aux différences d'approche.
cardinal
@cardinal, tout d'abord merci de vous y intéresser. Il est vrai que le CV peut faire la différence, mais les auteurs ont en fait les sous-ensembles (indices) utilisés pour le CV sur la page Web avec les données. Quoi qu'il en soit, le CV n'est utilisé que pour sélectionner le paramètre de pénalité optimal lambda, puis l'ensemble des données de formation est utilisé pour s'adapter au modèle, qui est ensuite évalué sur les données du test. Par conséquent, même si l'étape CV sélectionne un lambda différent, ce lambda est sur le chemin de la solution pour les données d'entraînement, et nous ne pouvons pas le trouver ...
NRH

Réponses:

2

avez-vous vérifié le paquet R du livre? il contient tous les jeux de données, la fonction et la plupart des scripts utilisés ici ...

user603
la source
7
bien essayé. Oui, j'ai vérifié le paquet, mais prétendre qu'il contient toutes les données, fonctions et la plupart des scripts est une exagération. Il n'est pas complet et ne contient pas l'ensemble de données en question.
NRH