gpt4 book ai didi

python - 在 Python 中使用 Keras 的神经网络中的特征重要性图

转载 作者:IT老高 更新时间:2023-10-28 20:41:39 26 4
gpt4 key购买 nike

我正在使用 python(3.6) anaconda (64 位) spyder (3.1.2)。我已经使用 keras (2.0.6) 为回归问题(一个响应,10 个变量)设置了一个神经网络模型。我想知道如何生成这样的特征重要性图表:

feature importance chart

def base_model():
model = Sequential()
model.add(Dense(200, input_dim=10, kernel_initializer='normal', activation='relu'))
model.add(Dense(1, kernel_initializer='normal'))
model.compile(loss='mean_squared_error', optimizer = 'adam')
return model

clf = KerasRegressor(build_fn=base_model, epochs=100, batch_size=5,verbose=0)
clf.fit(X_train,Y_train)

最佳答案

我最近在寻找这个问题的答案,并发现了一些对我正在做的事情有用的东西,并认为分享它会有所帮助。我最终使用了 permutation importance来自 eli5 package 的模块.它最容易与 scikit-learn 模型一起使用。幸运的是,Keras 提供了 wrapper for sequential models .如下代码所示,使用起来非常简单。

from keras.wrappers.scikit_learn import KerasClassifier, KerasRegressor
import eli5
from eli5.sklearn import PermutationImportance

def base_model():
model = Sequential()
...
return model

X = ...
y = ...

my_model = KerasRegressor(build_fn=base_model, **sk_params)
my_model.fit(X,y)

perm = PermutationImportance(my_model, random_state=1).fit(X,y)
eli5.show_weights(perm, feature_names = X.columns.tolist())

关于python - 在 Python 中使用 Keras 的神经网络中的特征重要性图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45361559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com