Есть ли способ изменить порядок объектов в summary_plot формы?Python

Программы на Python
Anonymous
Есть ли способ изменить порядок объектов в summary_plot формы?

Сообщение Anonymous »


Я хочу определить порядок объектов внутри shap.summary_plot Вот работающий код, я хочу научиться менять порядок переменных вместо того, чтобы упорядочивать их в списке важности.

импортировать matplotlib.pyplot как plt импортировать numpy как np импортная форма из тензорного потока импорта кераса из слоев импорта tensorflow.keras X = np.array([[(1,2,3,3,1),(3,2,1,3,2),(3,2,2,3,3),(2,2,1 ,1,2),(2,1,1,1,1)], [(4,5,6,4,4),(5,6,4,3,2),(5,5,6,1,3),(3,3,3,2,2),( 2,3,3,2,1)], [(7,8,9,4,7),(7,7,6,7,8),(5,8,7,8,8),(6,7,6,7,8),( 5,7,6,6,6)], [(7,8,9,8,6),(6,6,7,8,6),(8,7,8,8,8),(8,6,7,8,7),( 8,6,7,8,8)], [(4,5,6,5,5),(5,5,5,6,4),(6,5,5,5,6),(4,4,3,3,3),( 5,5,4,4,5)], [(4,5,6,5,5),(5,5,5,6,4),(6,5,5,5,6),(4,4,3,3,3),( 5,5,4,4,5)], [(1,2,3,3,1),(3,2,1,3,2),(3,2,2,3,3),(2,2,1,1,2),( 2,1,1,1,1)]]) y = np.array([0, 1, 2, 2, 1, 1, 0]) # Обновлена ​​модель с правильной формой ввода. модель = keras.Sequential([ Layers.Conv1D(128, kernel_size=3, активация='relu',input_shape=(5,5)), Layers.MaxPooling1D(pool_size=2), Layers.LSTM(128, return_sequences=True), слои.Сгладить(), Layers.Dense(128, активация = 'relu'), Layers.Dense(5, active='softmax') # Отрегулируйте количество выходных единиц в зависимости от вашей проблемы (3 для 3 классов) ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # Обучим модель model.fit(X, y, эпох=10) объяснитель = shap.GradientExplainer(модель, X) shap_values ​​= explorer.shap_values(X) #print(shap_values) кл = 0 идентификатор = 0 Feature_names = ["Функция1","Функция2","Функция4","Prova4","Функция5"] shap.summary_plot(shap_values[cls][:,idx,:], X[:,idx,:],plot_type="bar", Feature_names=feature_names) Есть ли способ выбрать порядок отображения объектов?

Вернуться в «Python»