#python #model #confusion-matrix #venn-diagram
#python #Модель #путаница-матрица #диаграмма Венна
Вопрос:
У меня есть 2 модели, реализованные с использованием одного и того же алгоритма, но с разным количеством функций, таким образом, 2 разные матрицы путаницы. Я хотел бы посмотреть, какие предсказанные элементы похожи между этими 2, и построить график сходства, предсказанный на диаграмме Венна.
Комментарии:
1. создайте фрейм данных с выходным столбцом для прогнозов для каждой модели, затем добавьте столбец с условием, если Pred1==Pred2 => 1 else 0 . теперь вы можете подсчитать количество похожих результатов
Ответ №1:
Ответ
data = {"Mod1":[1,0,1,1,0,0,0,1,1,1],"Mod2":[1,0,1,0,1,0,0,1,0,1]}
df = pd.DataFrame(data)
df["Similar"] = np.where(df["Mod1"]==df["Mod2"],1,0)
df.head()
#output
Mod1Mod2Similar
0 1 1 1
1 0 0 1
2 1 1 1
3 1 0 0
4 0 1 0
Это должно выполнить
визуализацию задания
# !pip install matplotlib-venn
import matplotlib.pyplot as plt
from matplotlib_venn import venn2
venn2(subsets = (3, 3, 7), set_labels = ('Mod1', 'Mod2'))
plt.show()
Комментарии:
1. Спасибо за подсказку, первая часть очень полезна. Тем не менее, я немного запутался в том, как построить сходство, используя диаграмму Венна, поскольку это набор из 1 и 0.
2. подмножества =(diff_mod1, diff_mod2, пересечение). Поскольку у вас одинаковое число, посчитайте 1, вы получите номер пересечения, а для len(data) -пересечение = diff_mo1
3. @gg1 поскольку 2 набора данных имеют одинаковый размер, Mod2= Mod1 = количество 1 количество 0s
4. Не могли бы вы помочь с диаграммой Венна, используя примеры данных, которые вы предоставили в первой части своего ответа? Спасибо
5.
df["Similar"].value_counts()
subset(valuefor0,valuefor0,valuefor1)