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