LGB 的 .feature_importance() 函数
對于機器學(xué)習(xí)訓(xùn)練來說,每一種特征對于機器學(xué)習(xí)訓(xùn)練的模型的重要性可能是不一樣的,此時,這個函數(shù)就起到了作用。
下面是文檔
feature_importance(importance_type='split', iteration=None)
-
Get feature importances.
Parameters:importance_type (string, optional (default=“split”))– How the importance is calculated. 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.
iteration (int or None, optional (default=None)) – Limit number of iterations in the feature importance calculation. If None, if the best iteration exists, it is used; otherwise, all trees are used. If <= 0, all trees are used (no limits).
下面是一個py文件中的代碼樣例
for i, (train_ind, val_ind) in enumerate(kf.split(train)): # i 返回的是第幾折, train_ind 是訓(xùn)練集, val_ind 是測試集print(f'Beginning fold {i}')train_data = lgb.Dataset(X.iloc[train_ind],label=y.iloc[train_ind])val_data = lgb.Dataset(X.iloc[val_ind],label=y.iloc[val_ind])model = lgb.train(params,train_data,num_boost_round=10000,valid_sets = [train_data, val_data],verbose_eval=100,early_stopping_rounds = 100)#Save both split and gain importances, averaged over 5 folds# 統(tǒng)計某種特征在該機器學(xué)習(xí)算法模型中使用過的次數(shù)(這里求的是5次訓(xùn)練的平均值)feats['importance_split'] += model.feature_importance()/5# 統(tǒng)計某種特征在整個.py文件中使用的次數(shù)(這里求的是5次訓(xùn)練的平均值)feats['importance_gain'] += model.feature_importance(importance_type='gain')/5
總結(jié)
以上是生活随笔為你收集整理的LGB 的 .feature_importance() 函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 作者:牛新(1983-),男,博士,国防
- 下一篇: Adversarial Validati