Изобразите точность классификации по нескольким меткам и p-значения McNemars моделей классификации (что такое «точность по умолчанию»?) - PullRequest
0 голосов
/ 10 июня 2019

1-я проблема: что подразумевается под «точностью по умолчанию» (метки прогнозирования для большинства класса)?

2-я проблема: я хочу / должен построить график точности обобщения и p-значений Макнемарса различныхКлассификационные модели более 20 случайно переставленных версий набора данных.Чтобы задокументировать улучшение, я должен добавить точность по умолчанию к заголовку графиков.

При необходимости я могу поделиться всем кодом.

Анализ задачи:

Цель этого набора данных (http://archive.ics.uci.edu/ml/datasets/breast+tissue) - получить достаточно хорошую точность классификации для четырехклассовой версии задачи (объединены 3 метки). Чтобы получить достоверные результаты классификации, я должен оценить несколько методов классификации:

1) точность по умолчанию (то есть метки прогнозирования для класса большинства) 2) k-ближайший сосед дает результаты с правильно настроенным k (выполнено) 3) логистическая регрессия с ошибкой перекрестной энтропии (выполнено) 4) машина опорных векторов (выполнено)

Хотя изучение всех возможных вариантов корректировок гиперпараметров для четырех различных подходов не требуется, вам следует обратиться к документации по sklearn, чтобы определить наиболее важные гиперпараметры, подлежащие корректировке для 3) и 4).(если есть).В результате важно обеспечить объективную точность обобщения для моделей 2) - 4) и оценить эти результаты для значительных улучшений по сравнению с точностью по умолчанию.(Готово)

Мой код запущен, хотя я уверен, что есть более сложный способ кодирования.Я получил задания 2), 3) и 4).Я также закончил вычисление случайной перестановки и p-значения (критерий Макнемарса).Тем не менее, я не знаю, что подразумевается под «точностью по умолчанию» под 1).Следовательно, я не совсем понимаю, что нужно делать, когда дело доходит до построения точности обобщения, p-значений, добавления «точности по умолчанию» и документирования улучшений.

Код для построения графиков:

label_pnames = ["p-val KNN vs. LR","p-val KNN vs. SVM","p-val SVM vs. LR"]
j = 0
for i in plot_pdata:
    plt.plot(i)
    plt.ylabel(label_pnames[j])
    plt.xlabel("-th permutation")
    #plt.title("default acc {:4f}".format())
    plt.show()
    j += 1

plot_acdata = [accs_knn, accs_lr, accs_svm]
label_acnames = ["Accuracy KNN","Accuracy LR","Accuracy SVM"]
j = 0
for i in plot_acdata:
    plt.plot(i)
    plt.ylabel(label_acnames[j])
    plt.xlabel("-th permutation")
    plt.show()
    j += 1
...