【发布时间】:2019-11-04 07:20:49
【问题描述】:
我正在尝试找出随机森林分类任务的特征重要性。但它给了我以下错误:
'numpy.ndarray' 对象没有属性'columns'
这是我的代码的一部分:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# importing dataset
dataset=pd.read_csv('Churn_Modelling.csv')
X = dataset.iloc[:,3:12].values
Y = dataset.iloc[:,13].values
#spliting dataset into test set and train set
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.20)
from sklearn.ensemble import RandomForestRegressor
regressor = RandomForestRegressor(n_estimators=20, random_state=0)
regressor.fit(X_train, y_train)
#feature importance
feature_importances = pd.DataFrame(rf.feature_importances_,index = X_train.columns,columns=['importance']).sort_values('importance',ascending=False)
我希望这应该为我的数据集的每一列提供特征重要性分数。 (注:原始数据为 CSV 格式)
【问题讨论】:
-
这个错误告诉你到底是什么问题。您正在尝试访问 X_train.columns,但 X_train 是一个 numpy 数组而不是 pandas 数据框,并且它没有属性列
标签: python pandas scikit-learn random-forest