- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是数据科学领域的新手。我正在尝试找出我的数据集的特征重要性排名。我已经应用了随机森林并得到了输出。
这是我的代码:
# 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
代码如下:
#feature importance
from sklearn.ensemble import ExtraTreesClassifier
importances = regressor.feature_importances_
std = np.std([tree.feature_importances_ for tree in regressor.estimators_],
axis=0)
indices = np.argsort(importances)[::-1]
print("Feature ranking:")
for f in range(X.shape[1]):
print("%d. feature %d (%f)" % (f + 1, indices[f], importances[indices[f]]))
# Plot the feature importances of the forest
plt.figure()
plt.title("Feature importances")
plt.bar(range(X.shape[1]), importances[indices],
color="r", yerr=std[indices], align="center")
plt.xticks(range(X.shape[1]), indices)
plt.xlim([-1, X.shape[1]])
plt.show()
我期待文档中显示的输出。任何人都可以帮助我吗?提前致谢。
最佳答案
你有很多特征,无法在单个图中看到。只是绘制其中的一些。
这里我绘制了前 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
输出:
关于python - 在 RandomForestRegressor sklearn 中绘制特征重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56725486/
在 GGally::ggpair 的最新版本中,相关值用 * 显示,如下图所示。我想删除 *s 并保留相关值。 我看过 ggpairs 代码,但它对我来说并不明显。 GGally::ggpairs(d
在 GGally::ggpair 的最新版本中,相关值用 * 显示,如下图所示。我想删除 *s 并保留相关值。 我看过 ggpairs 代码,但它对我来说并不明显。 GGally::ggpairs(d
我正在尝试使用在 weka 库中实现的 SVM 分类来对一些数据进行分类。我的分类代码如下所示: BufferedReader reader = new BufferedReader(new File
我已经为 jdbm 构建了 Lucene Directory 实现,一个嵌入式Java数据库。 Directory API 的一部分是与"file"修改日期相关的两个方法:touchFile 和 fi
我的任务是编写一个函数,将文件中单词的长度与整数进行比较,然后返回所有符合该大小的单词。我得到的答案几乎相同,除了我没有像他们那样包含 string.strip() : def get_words(d
xgb.importance 命令返回由 f score 衡量的特征重要性图。 这个f分数代表什么,它是如何计算的? 输出: Graph of feature importance 最佳答案 这是一个
有一个二元分类问题:如何获得 Ranger 模型变量的 Shap 贡献? 示例数据: library(ranger) library(tidyverse) # Binary Dataset df %
如今 servlet 在哪里使用? 我知道 servlet 是在面向请求/响应的服务器(例如支持 Java 的 Web 服务器)中运行的模块。但是现在我没有听到任何人使用 servlet。这可能是因为
我是一名优秀的程序员,十分优秀!