Как построить единую матрицу смешения нескольких классов из нескольких предсказанных результатов бинарного класса? - PullRequest
0 голосов
/ 04 июня 2019

У меня есть четыре разные матрицы путаницы для четырех меток в категории атак вторжения (DoS, Probe, R2L и U2R, представленные соответственно 1, 2, 3 и 4) в форме матрицы смешения 2X2 для каждой, рассчитаннойлибо нормальным (представленным 0), либо одной из атак (1, 2, 3 или 4) для каждой метки класса.Каждая отдельная матрица была создана с помощью панд с использованием кода, подобного

Y_pred1 = clf.predict(X_test1)
pandas.crosstab(Y_test1, Y_pred1, rownames=['Actual'], colnames =['Predicted'])

Y_pred2 = clf.predict(X_test2)
pandas.crosstab(Y_test2, Y_pred2, rownames=['Actual'], colnames=['Predicted'])

 Y_pred3 = clf.predict(X_test3)
pandas.crosstab(Y_test3, Y_pred3, rownames=['Actual'], colnames=['Predicted'])

 Y_pred4 = clf.predict(X_test4)
pandas.crosstab(Y_test4, Y_pred4, rownames=['Actual'], colnames=['Predicted'])

Здесь clf - классификатор, X_test1 - набор тестов для первой метки «1».И метки столбцов и строк каждой отдельной матрицы будут иметь вид [[0,1], [0,1]] для метки DoS, [[0,2], [0,2]] для метки зонда и т. Д.на.Аналогично, у меня есть четыре из них, предсказанные и сохраненные в этих четырех фреймах данных (Y_pred1, Y_pred2, Y_pred3 и Y_pred4).Как мне построить все эти матрицы предсказания каждой из 2X2 в одну матрицу, имеющую 5X5 в форме [[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]?

PS Здесь 0, 1, 2, 3 и 4 - метки для матрицы, а не фактические данные, используемые для построения матрицы путаницы.Матрица представлена ​​в вопросе в формате [колонка] [строка].Первая строка и первый столбец в каждой из матриц 2X2 будут иметь одинаковую метку (т. Е. 0).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...