J'essaie d'exécuter un exemple de code en utilisant le paquet Xgboost avec le paquetage xgbfir. Le code que j'essaye d'exécuter est le suivant:Xgboost TypeError: l'objet 'str' n'est pas appelable
from sklearn.datasets import load_iris, load_boston
import xgboost as xgb
import xgbfir
# loading database
boston = load_boston()
# doing all the XGBoost magic
xgb_rmodel = xgb.XGBRegressor().fit(boston['data'], boston['target'])
# saving to file with proper feature names
xgbfir.saveXgbFI(xgb_rmodel, feature_names=boston.feature_names, OutputXlsxFile = 'bostonFI.xlsx')
# loading database
iris = load_iris()
# doing all the XGBoost magic
xgb_cmodel = xgb.XGBClassifier().fit(iris['data'], iris['target'])
# saving to file with proper feature names
xgbfir.saveXgbFI(xgb_cmodel, feature_names=iris.feature_names, OutputXlsxFile = 'irisFI.xlsx')
Je reçois l'erreur suivante et ne peux pas comprendre pourquoi ceci se produit. Il semble que booster() ne puisse pas être appelé dans Xgboost, mais je n'ai aucune idée de comment résoudre ce problème ou par où commencer.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-152-af422c4cc325> in <module>()
10
11 # saving to file with proper feature names
---> 12 xgbfir.saveXgbFI(xgb_rmodel, feature_names=boston.feature_names, OutputXlsxFile = 'bostonFI.xlsx')
13
14
/Users/xxxxxxx/anaconda/lib/python2.7/site-packages/xgbfir/main.pyc in saveXgbFI(booster, feature_names, OutputXlsxFile, MaxTrees, MaxInteractionDepth, MaxDeepening, TopK, MaxHistograms, SortBy)
589 if not 'get_dump' in dir(booster):
590 if 'booster' in dir(booster):
--> 591 booster = booster.booster()
592 else:
593 return -20
T
ypeError: 'str' object is not callable
Cela peut-il être dû à la gestion des versions de Xgboost? J'apprécierais grandement toute aide pour résoudre ce problème.
Je ne reçois aucune erreur avec la version 'xgboost == 0.6a2' et' xgbfir = = 0.2' sur Ubuntu. –
Ce problème peut être lié à une mauvaise installation des paquets (même si xgboost fonctionne correctement, sauf la fonction booster). Je cours ceci sur un mac et les versions sont xgboost == 0.6 et xgbfir == 0.2. Connaissez-vous un moyen facile de mettre à jour xgboost == à 0.6a2? – zad0xlik
Eh bien, j'ai réinstallé le paquet xgboost et cela ne fonctionne toujours pas, je n'ai aucune idée de comment résoudre ce problème ou où aller. – zad0xlik