Merge pull request #818 from webgeist/master
Add feature_importances_ property for XGBClassifier
This commit is contained in:
commit
2baea12d97
@ -326,6 +326,8 @@ class XGBClassifier(XGBModel, XGBClassifierBase):
|
|||||||
else:
|
else:
|
||||||
evals = ()
|
evals = ()
|
||||||
|
|
||||||
|
self._features_count = X.shape[1]
|
||||||
|
|
||||||
self._le = LabelEncoder().fit(y)
|
self._le = LabelEncoder().fit(y)
|
||||||
training_labels = self._le.transform(y)
|
training_labels = self._le.transform(y)
|
||||||
|
|
||||||
@ -414,6 +416,22 @@ class XGBClassifier(XGBModel, XGBClassifierBase):
|
|||||||
|
|
||||||
return evals_result
|
return evals_result
|
||||||
|
|
||||||
|
@property
|
||||||
|
def feature_importances_(self):
|
||||||
|
"""
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
feature_importances_ : array of shape = [n_features]
|
||||||
|
|
||||||
|
"""
|
||||||
|
fs = self.booster().get_fscore()
|
||||||
|
keys = [int(k.replace('f', '')) for k in fs.keys()]
|
||||||
|
fs_dict = dict(zip(keys, fs.values()))
|
||||||
|
all_features_dict = dict.fromkeys(range(0, self._features_count), 0)
|
||||||
|
all_features_dict.update(fs_dict)
|
||||||
|
return np.array(all_features_dict.values())
|
||||||
|
|
||||||
|
|
||||||
class XGBRegressor(XGBModel, XGBRegressorBase):
|
class XGBRegressor(XGBModel, XGBRegressorBase):
|
||||||
# pylint: disable=missing-docstring
|
# pylint: disable=missing-docstring
|
||||||
__doc__ = """Implementation of the scikit-learn API for XGBoost regression.
|
__doc__ = """Implementation of the scikit-learn API for XGBoost regression.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user