#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
, поэтому я не уверен, какую функциональность он предоставляет для такого рода вещей, но вы можете попробовать создать свою собственную легенду (см. Документы)!