为什么在更改操作系统或计算机时选择功能的 RFE 会发生变化

数据挖掘 机器学习 Python scikit-学习 特征选择
2022-03-10 09:13:01

我使用了特征选择方法:RFE 为特征选择特征。现在我想用 LGBM 模型选择 20 个特征(大约有 50 个或更多特征),代码如下: 但是我发现当 os 或 os 版本或计算机发生变化时,特征(sel.ranking_)是不同的。我不知道是什么导致了变化。此外,如何解决特征选择固定的问题。谢谢!

gbm = lgb.LGBMClassifier(
    boosting_type='gbdt',
    objective='binary',
    learning_rate=0.01,
    colsample_bytree=0.9,
    subsample=0.8,
    random_state=21,
    n_estimators=200,
    num_leaves=18)
sel = RFE(gbm, step=1, n_features_to_select=20, verbose=1)
sel.fit(X_train, y_train)
print (sel.ranking_)
1个回答

由于您没有提供有关创建 X_train 和 y_train 的任何信息,我无法确定这是问题所在,但我猜这与功能顺序的一些变化有关。当输入特征的顺序改变时,三基算法的结果会受到影响,因此请确保每次运行代码时此顺序都不会改变(例如,您可以在 RFE 之前按字母顺序对它们进行排序)。

你可能会觉得这个讨论很有趣。