Интерпретировать результаты SV C и GridSearch - PullRequest
1 голос
/ 07 февраля 2020

Я работаю над классификатором текстур, используя scikit-learn svm sv c в качестве модели. Я немного озадачен некоторыми результатами, которые я получаю, в основном потому, что выбор параметров гамма и C так сильно влияет на мои результаты. Итак, вот краткое описание моего случая:

Всего у меня есть 195 изображений, разделенных на 8 классов следующим образом; дерево - 56, мрамор - 23, цемент - 16, бетон - 7, плитка - 32, ковер - 18, кирпич - 25, фабри c - 18.

Я случайным образом делю свои данные на обучение и тестирование устанавливается отношением 80-20.

Я использую SV C в качестве модели: model = SVC(C=C, random_state=42, gamma=gamma)

Я подгоняю свою модель с данными тренировки. Затем я прогнозирую классы для своих тестовых данных и использую точность (соотношение правильных прогнозов) в качестве оценки.

Для различных вариантов выбора C и гамма мой результат выглядит следующим образом:

Для C = 100 и с переменной гамма :

| gamma | 1e-3|1e-2|1e-1| 1e0| 1e1| 1e2| 1e3| 1e4| | score | 0.28|0.28|0.29|0.36|0.54|0.76|1.00|1.00|

И для фиксированной гамма = 10 и меняется C

| C |1e-1| 1e0| 1e1| 1e2| 1e3| 1e4| 1e5| 1e6| | score | 0.28|0.29|0.37|0.54|0.67|0.83|0.97|1.00|

Как видно, оценка увеличивается как C, так и гамма увеличивается.

Прежде всего, я думаю, что результат для больших C и гамма слишком "идеален". Точность 100%. Как я понимаю влияние C, чем больше значение C, тем точнее он соответствует данным поезда, но менее "гладкой" является модель. Я предполагаю, что вы могли бы интерпретировать результат как данные поезда и теста, очень похожие, и поэтому большое значение C приведет к большой точности. Если мы рассмотрим гамма в качестве обратного радиуса влияния каждого элемента поезда, это также приведет к выводу, что данные поезда и испытаний могут быть очень похожи.

С другой стороны, когда я использую GridSearchCV для настройки параметров, я получаю результат:

Изображение здесь

Лучшее The best parameters are {'C': 100000.0, 'gamma': 10.0} with a score of 0.46

Как я могу интерпретировать этот счет 0,46? Мне это кажется очень низким по сравнению с результатом точности, который я получил, когда я проверял.

...