2017-09-13 3 views
0

Dans l'intro de xgboost (version R), il est possible de construire un classificateur de type forêt aléatoire en utilisant les commandes ci-dessous. Est-il possible de faire la même chose avec xgboost en python?Syntaxe de la forêt aléatoire utilisant xgboost en python

#Random Forest™ - 1000 trees 
bst <- xgboost(data = train$data, label = train$label, max_depth = 4, num_parallel_tree = 1000, subsample = 0.5, colsample_bytree =0.5, nrounds = 1, objective = "binary:logistic") 

Répondre

1

Oui, vous pouvez utiliser les mêmes paramètres en python. Vous pouvez trouver plusieurs exemples de python sur la façon d'utiliser xgboost dans le répertoire de démonstration:

https://github.com/dmlc/xgboost/tree/master/demo/guide-python

fournissent simplement les paramètres de votre commande R en python et il devrait fonctionner de la même.

+0

Le problème est que les paramètres num_parallel_tree et nrounds n'existent pas dans la documentation python pour xgboost, des pensées? –

+0

Ah, je vois ce que vous dites. Je pense que nrounds est appelé num_boost_round dans l'API python. Et num_parellel_tree existe dans l'API python même si ce n'est pas explicitement document. Pour voir cette recherche de num_boost_round dans le fichier d'apprentissage: https://github.com/dmlc/xgboost/blob/master/python-package/xgboost/training.py – ftiaronsem

+1

J'ai également trouvé un fichier python qui utilise le paramètre num_parallel_tree. Voir https://programtalk.com/vs2/python/6841/ensemble_amazon/XGBoostClassifier.py/ Remarque: Ils utilisent un paramètre auto-défini appelé num_round et le transmettent à ce que l'on appelle num_boost_round dans l'API python. – ftiaronsem