Как найти похожие предсказанные x между 2 моделями?

#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)