Move feature_importances_ to base XGBModel for XGBRegressor access (#1591)
This commit is contained in:
parent
6f16f0ef58
commit
dd477ac903
@ -328,6 +328,20 @@ class XGBModel(XGBModelBase):
|
|||||||
|
|
||||||
return evals_result
|
return evals_result
|
||||||
|
|
||||||
|
@property
|
||||||
|
def feature_importances_(self):
|
||||||
|
"""
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
feature_importances_ : array of shape = [n_features]
|
||||||
|
|
||||||
|
"""
|
||||||
|
b = self.booster()
|
||||||
|
fs = b.get_fscore()
|
||||||
|
all_features = [fs.get(f, 0.) for f in b.feature_names]
|
||||||
|
all_features = np.array(all_features, dtype=np.float32)
|
||||||
|
return all_features / all_features.sum()
|
||||||
|
|
||||||
|
|
||||||
class XGBClassifier(XGBModel, XGBClassifierBase):
|
class XGBClassifier(XGBModel, XGBClassifierBase):
|
||||||
# pylint: disable=missing-docstring,too-many-arguments,invalid-name
|
# pylint: disable=missing-docstring,too-many-arguments,invalid-name
|
||||||
@ -518,20 +532,6 @@ class XGBClassifier(XGBModel, XGBClassifierBase):
|
|||||||
|
|
||||||
return evals_result
|
return evals_result
|
||||||
|
|
||||||
@property
|
|
||||||
def feature_importances_(self):
|
|
||||||
"""
|
|
||||||
Returns
|
|
||||||
-------
|
|
||||||
feature_importances_ : array of shape = [n_features]
|
|
||||||
|
|
||||||
"""
|
|
||||||
b = self.booster()
|
|
||||||
fs = b.get_fscore()
|
|
||||||
all_features = [fs.get(f, 0.) for f in b.feature_names]
|
|
||||||
all_features = np.array(all_features, dtype=np.float32)
|
|
||||||
return all_features / all_features.sum()
|
|
||||||
|
|
||||||
|
|
||||||
class XGBRegressor(XGBModel, XGBRegressorBase):
|
class XGBRegressor(XGBModel, XGBRegressorBase):
|
||||||
# pylint: disable=missing-docstring
|
# pylint: disable=missing-docstring
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user