2017-10-12 2 views
0

J'utilise la fonction H2O.AI h2o.automl pour effectuer un problème de classification binaire standard. J'utilise la dernière version du paquet publiée sur CRAN. J'ai couru le code suivant:automl NaN dans la performance de classement

my_automl_model<-h2o.automl(x=predictorsList, y="Purchase", training_frame = train.h2o, validation_frame = test.h2o, stopping_metric = "logloss", max_runtime_secs = 60*60*3). 

être l'achat d'un des facteurs deux niveaux ("N", "S") et la liste des facteurs prédictifs est predictorsList.

Le journal de l'appel rapide est la suivante:

        model_id auc logloss 
1 GLM_grid_0_AutoML_20171012_150410_model_1 NaN  NaN 
2 GLM_grid_0_AutoML_20171012_150410_model_0 NaN  NaN 
3  DeepLearning_0_AutoML_20171012_145911 NaN  NaN 
4 StackedEnsemble_0_AutoML_20171012_145911 NaN  NaN 
5 GLM_grid_0_AutoML_20171012_145911_model_1 NaN  NaN 
6 GLM_grid_0_AutoML_20171012_145911_model_0 NaN  NaN 

Je comprends que le paquet se classe le modèle, mais je me demande pourquoi pas des mesures de performance est affiché ...

Je voudrais aussi à comprendre: 1. que représentent les modèles XRT_xxx? 2. s'il existe un moyen de spécifier la validation croisée des n-folds.

Merci à l'avance pour le soutien

+0

Pouvez-vous reproduire cette erreur sur un ensemble de données de classification binaire publique ou pouvez-vous partager votre ensemble de données? –

Répondre

1

Je vais répondre aux deux questions à la fin pour l'instant et mettre à jour ma réponse si vous pouvez fournir un ensemble de données publique qui reproduit le NA dans le problème. Leaderboard

  1. Quels sont les modèles de XRT_xxx représentent?

XRT = Une forêt aléatoire qui utilise des arbres extrêmement aléatoires (aka ExtraTrees). Ceci est réalisé en réglant histogram_type = "Random".

  1. s'il existe un moyen de spécifier la validation croisée des n-folds.

vous pouvez dès à présent utiliser le fold_column pour spécifier des plis personnalisés, vous pouvez donc pouvez modifier le nombre de plis de cette façon. Cela devrait être une colonne d'entiers ou des facteurs qui spécifient le pli, de sorte que la façon la plus simple de créer c'est quelque chose comme (par exemple R):

# train should be your training_frame; we will use iris as an example 
data("iris") 
train <- as.h2o(iris) 

# add a fold column that uses 10 folds 
train[,"fold"] <- as.h2o(rep_len(1:10, nrow(train))) 

ensuite mis fold_column = "fold" à h2o.automl().

Dans la prochaine version, nous exposerons directement l'argument nfolds pour faciliter cela (suivez les progrès de cette tâche here).

+0

Salut Erin, merci pour les idées initiales ... Je vais essayer de reproduire le problème sur une base de données ouverte, puis mettre à jour les commentaires. –