为了账号安全,请及时绑定邮箱和手机立即绑定

应用随机森林后提取重要特征进行训练和测试

应用随机森林后提取重要特征进行训练和测试

慕哥9229398 2021-04-06 13:15:45
我正在使用随机森林进行特征选择(拳头100个最重要的特征)。这是我正在使用的代码;RandomForest_model = RandomForestRegressor(n_estimators=300,n_jobs=-1)    RandomForest_model.fit(train_x,train_y)    RandomForest_model.score(train_x,train_y)    indices = RandomForest_model.feature_importances_.argsort()[:100]    train_100_x= train.iloc[:,indices]    test_100_y = test_100_y.iloc[:,indices]我的问题是火车和测试列不匹配。看图片:培训和测试中第一列的图片:我是在做错事还是做事更有效?
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

尝试使用列名而不是索引将子集设置为新的训练和测试数据集


RandomForest_model = RandomForestRegressor(n_estimators=300,n_jobs=-1)

RandomForest_model.fit(train_x,train_y)


importance_df=pd.DataFrame({'feature':train_x.columns, 'importance':RandomForest_model.feature_importances_})

#sort feature importance data frame

importance_df.sort_values('importance', ascending=False, inplace=True)

#select 100 most important features

features= importance_df.feature[:100]

#

train_100_x= train_x.loc[:,features]

test_100_x = test_x.loc[:,features]


查看完整回答
反对 回复 2021-04-27
  • 1 回答
  • 0 关注
  • 283 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信