Я обучаю классификатор svm с перекрестной проверкой (stratifiedKfold) с использованием интерфейсов scikits. Для каждого набора тестов (из k) я получаю результат классификации. Я хочу получить матрицу путаницы со всеми результатами. Scikits имеет интерфейс матрицы путаницы: sklearn.metrics.confusion_matrix (y_true, y_pred) Мой вопрос в том, как мне накапливать значения y_true и y_pred. Это массивы (numpy). Должен ли я определять размер массивов на основе моего параметра k-fold? И для каждого результата я должен добавить в массив y_true и y-pred ????
матрица путаницы scikits с перекрестной проверкой
comment
У меня есть решение этой проблемы. Для каждой итерации (через мою k-кратную) я создаю матрицу путаницы, которую добавляю к предыдущей. Таким образом я получаю CN, содержащий все значения. С помощью numpy легко построить эту кумулятивную матрицу (см + = см)
- person andreSmol   schedule 16.03.2012
comment
Но у меня все еще есть проблема, если я хочу получить накопленный отчет о точности / отзыве (classification_report). Каждая итерация будет иметь y_true, y_pred. Как мне получить окончательный отчет?
- person andreSmol   schedule 16.03.2012
comment
На протяжении всей перекрестной проверки y_true будет постоянным. Для y_pred вы можете выполнить ту же процедуру, что и матрица путаницы. Делайте агрегированные / итоговые прогнозы.
- person Sayali Sonawane   schedule 31.08.2016
Ответы (1)
Вы можете использовать совокупную матрицу неточностей или вычислить ее для каждого раздела CV и вычислить среднее значение и стандартное отклонение (или стандартную ошибку) для каждого компонента в матрице в качестве меры изменчивости.
Для отчета о классификации необходимо изменить код, чтобы он принимал двумерные входные данные, чтобы передавать прогнозы для каждого раздела CV, а затем вычислять средние оценки и стандартное отклонение для каждого класса.
person
ogrisel
schedule
18.03.2012
Как бы вы могли создать совокупную матрицу путаницы?
- person Merlin; 24.05.2016