如何在 python 随机森林模型中删除可预测值 (y)

how to drop predictable value (y) in python random forest model

我运行一个随机森林模型在python中看到特征的重要性。然而,可预测值 (y) 不能被删除,它看起来像作为占据 98% 以上重要性的参数之一。

代码如下:

temp=pd.read_csv('temp_data.csv',sep=',',engine='python')
temp['y'] = temp['temp_actual']
y = temp['y'].values
temp = temp.drop(['y'],axis=1)

#X = temp.loc[:,:]
x= temp.values

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=42)

请帮助更正编码。谢谢!

在您的代码中,您使用代码

将目标特征复制到列 y
temp['y'] = temp['temp_actual']

然后您将 y 设置为该列中的值

y = temp['y'].values

然后您使用以下代码从数据框中删除了列 y

temp = temp.drop(['y'],axis=1)

现在,如果您查看数据框 temp 的列,您会发现 y 不存在,但 temp_actual 存在。

您必须从数据框中删除该列,为此您可以执行以下任一方法。

del temp['temp_actual']

temp = temp.drop(['temp_actual'], axis=1)