- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 LightGBM 中使用 LGBMClassifer 构建二元分类器模型,如下所示:
# LightGBM model
clf = LGBMClassifier(
nthread=4,
n_estimators=10000,
learning_rate=0.005,
num_leaves= 45,
colsample_bytree= 0.8,
subsample= 0.4,
subsample_freq=1,
max_depth= 20,
reg_alpha= 0.5,
reg_lambda=0.5,
min_split_gain=0.04,
min_child_weight=.05
random_state=0,
silent=-1,
verbose=-1)
下一步,根据训练数据拟合我的模型
clf.fit(train_x, train_y, eval_set=[(train_x, train_y), (valid_x, valid_y)],
eval_metric= 'auc', verbose= 100, early_stopping_rounds= 200)
fold_importance_df = pd.DataFrame()
fold_importance_df["feature"] = feats
fold_importance_df["importance"] = clf.feature_importances_
输出:
feature importance
feature13 1108
feature21 1104
feature11 774
到这里一切都很好,现在我正在研究基于此模型的特征重要性度量。因此,我使用 feature_importance_()
函数来获取该值(但默认情况下,它根据 split
提供功能重要性)
虽然 split
让我了解哪个功能在 split 中使用了多少次,但我认为 gain
会让我更好地理解功能的重要性.
LightGBM 增强类的 Python API https://lightgbm.readthedocs.io/en/latest/Python-API.html?highlight=importance提及:
feature_importance(importance_type='split', iteration=-1)
Parameters:importance_type (string, optional (default="split")) –
If “split”, result contains numbers
of times the feature is used in a model. If “gain”, result contains
total gains of splits which use the feature.
Returns: result – Array with feature importances.
Return type: numpy array`
然而,LightGBM LGBMClassifier()
的 Sklearn API 没有提及任何内容 Sklearn API LGBM ,这个函数只有这个参数:
feature_importances_
array of shape = [n_features] – The feature importances (the higher, the more important the feature).
sklearn
版本(即基于 gain
的 LGBMClassifier()
)获取特征重要性?最佳答案
feature_importance()
是原始LGBM中Booster对象的一个方法。
sklearn API 通过 API Docs 中给出的属性 booster_
公开训练数据上的底层 Booster。 。
因此,您可以首先访问此助推器对象,然后以与原始 LGBM 相同的方式调用 feature_importance()
。
clf.booster_.feature_importance(importance_type='gain')
关于machine-learning - 如何在 sklearn::LGBMClassifier() 中的 LightGBM 分类器的 feature_importances_ 中将 'gain' 设置为特征重要性度量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51118772/
我一直在为 XGBClassifier 的这种怪异行为而烦恼,它应该像 RandomForestClassifier 那样表现得很好: import xgboost as xgb from sklea
我已经通读了几页,但需要有人帮助解释如何进行这项工作。 我正在使用 TPOTRegressor() 来获得最佳管道,但从那里我希望能够绘制它返回的管道的 .feature_importances_:
预测后,feature_importances_(特别是 GradientBoostingClassifier 但可能存在于其他方法中)保存特征重要性。根据文档,越高,该功能越重要。 你知道返回的数字
我有以下代码 xgb = XGBRegressor(booster='gblinear', reg_lambda=0, learning_rate=0.028) print(xgb) xgb.fit(
我正在使用 TransformedTargetRegressor将我的目标转换为日志空间。它是这样完成的 from sklearn.ensemble import GradientBoostingRe
我正在努力从我的 RandomForestRegressor 中提取特征重要性,我得到: AttributeError: 'GridSearchCV' object has no attribute
我通过其 scikit-learn 风格的 Python 接口(interface)调用 xgboost: model = xgboost.XGBRegressor() %time model.fit
我正在使用 OneVsRestClassifier 解决多标签分类问题。我将 RandomForestClassifier 传递给它。 from sklearn.multiclass import O
在我的代码中,它引发运行时错误。在这里,我尝试将 RFE 拟合为回归数据。 from sklearn.feature_selection import RFE from sklearn.svm imp
我正在使用 XGBoost 及其 sklearn 的包装器。 每当我尝试打印 feature_importances_ 时,都会出现以下错误: ValueError: invalid literal
如果我运行一个模型(在本例中称为 clf),我会得到如下所示的输出。如何将其与用于训练分类器的特征输入联系起来? >>> clf.feature_importances_ array([ 0.0162
我正在 LightGBM 中使用 LGBMClassifer 构建二元分类器模型,如下所示: # LightGBM model clf = LGBMClassifier(
我正在尝试为给定的数据集选择重要的特征(或者至少了解哪些特征解释更多的变异性)。为此,我使用 ExtraTreesClassifier 和 GradientBoostingRegressor - 然后
我是一名优秀的程序员,十分优秀!