假设我有给定X_train、X_test、y_train、y_test的数据。由于这是一个分类问题,我想使用XGBoost。
问题是有 300 多个功能。
我在网上发现有一些方法可以找到重要的功能。但由于我有很多功能,这会导致问题。
我当前的代码如下。我如何修改它来选择前 n (n = 20) 个特征并将它们用于训练模型。我尝试根据重要性对功能进行排序,但它不起作用。
import xgboost as xgb
gbm = xgb.XGBClassifier(max_depth=3, n_estimators=300, learning_rate=0.05).fit(X_train,y_train)
predictions = gbm.predict(X_test)