随机森林回归器sklearn中的图特征重要性

2024-03-29 12:30:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我是数据科学新手。我试图找出我的数据集的功能重要性排名。我已经应用了随机森林并得到了输出。在

这是我的代码:

# importing libraries

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

#encoding catagorical data

from sklearn.preprocessing import LabelEncoder, OneHotEncoder

#country
labelencoder_X_1= LabelEncoder()
X[:,1]=labelencoder_X_1.fit_transform(X[:,1])

#gender
labelencoder_X_2= LabelEncoder()
X[:,2]=labelencoder_X_2.fit_transform(X[:,2])

onehotencoder = OneHotEncoder(categorical_features=[0])
X = onehotencoder.fit_transform(X).toarray()


#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) 

在“重要性”部分,我几乎复制了中所示的示例: https://scikit-learn.org/stable/auto_examples/ensemble/plot_forest_importances.html

代码如下:

^{pr2}$

我期待文档中显示的输出。谁能帮帮我吗?提前谢谢。在

我的数据集在这里: enter image description here


Tags: 数据代码fromtestimportastransformtrain
1条回答
网友
1楼 · 发布于 2024-03-29 12:30:15

你有很多特点,在一个情节中是看不到的。 只画出其中的一部分。

我在这里画出前20个最重要的:

# Plot the feature importances of the forest
plt.figure(figsize=(18,9))
plt.title("Feature importances")
n=20
_ = plt.bar(range(n), importances[indices][:n], color="r", yerr=std[indices][:n])
plt.xticks(range(n), indices)
plt.xlim([-1, n])
plt.show()

我的代码以防您需要它:https://filebin.net/be4h27swglqf3ci3

输出:

enter image description here

相关问题 更多 >