Таким образом, X_train
, полученное из train_test_split
, на самом деле является массивом, который никогда не будет иметь столбцов.Во-вторых, вы запрашиваете значения, когда вы набираете X
из dataset
, который возвращает numpy.ndarry, а не df.
Вам необходимо изменить строку
<strike>feature_importances = pd.DataFrame(rf.feature_importances_,index = X_train.columns,columns=['importance']).sort_values('importance',ascending=False)
</strike>
до
columns_ = dataset.iloc[:1, 3:12].columns
feature_importances = pd.DataFrame(rf.feature_importances_,index = columns_,columns=['importance']).sort_values('importance',ascending=False)