Как объединить графики 2 кривых подъема в один график в Python

#python #matplotlib #scikit-learn #scikit-plot

#python #matplotlib #scikit-learn #scikit-plot

Вопрос:

Я создал кривую подъема ответов, предсказанных с помощью 2 моделей: логистической регрессии и дерева решений. Я получаю 2 отдельных графика на двух отдельных графиках. Мне нужен один график, изображающий оба графика. Как это сделать?

 import scikitplot as skplt
log_y_probas = logmodel.predict_proba(X_test)
dec_y_probas = DecisionTreeModel.predict_proba(X_test);

skplt.metrics.plot_lift_curve(y_test,log_y_probas);
skplt.metrics.plot_lift_curve(y_test,dec_y_probas);
plt.show();
  

Я получаю два разных графика на двух разных графиках. Мне нужны оба графика на одном графике. Что мне делать? Или я должен как-то использовать другую библиотеку Python?

Ответ №1:

В Python нет необходимости заканчивать операторы точкой с запятой.

В любом случае, каждый вызов plot_lift_curve возвращает Axes объект, если ax параметр не указан. Вы можете использовать это для построения обеих кривых на одном и том же Axes :

 ax = skplt.metrics.plot_lift_curve(y_test, log_y_probas)
skplt.metrics.plot_lift_curve(y_test, dec_y_probas, ax=ax)
plt.show()
  

Комментарии:

1. Спасибо! Не могли бы вы сказать, возможно ли добавить легенды к кривой, чтобы показать, какая строка соответствует дереву решений, а какая — логистической регрессии? Если да, то как?

2. Я на самом деле раньше не использовал skplt , поэтому я не уверен, какую функциональность он предоставляет для такого рода вещей, но вы можете попробовать создать свою собственную легенду (см. Документы)!