Здесь мы будем использовать различные классификаторы машинного обучения и методы извлечения признаков для классификации ярлыков в наборе данных Fashion MNSIT. {Ярлыки изменены на 5}.

ЛИНЕЙНЫЕ И НЕЛИНЕЙНЫЕ КЛАССИФИКАТОРЫ

1. Линейные классификаторы. Линейные классификаторы — это классификаторы, которые классифицируют входные данные на основе линейной комбинации значений признаков или если порог классификации линейный, т. е. линия и т. д.

а. Линейный дискриминантный классификатор

б. Наивный байесовский анализ

c. Логистическая регрессия

d. Персептрон

e. SVM (с линейным ядром)

2. Нелинейные классификаторы. Нелинейные классификаторы — это классификаторы, которые классифицируют точки на основе нелинейных комбинаций признаков, т. е. формируют параболу и т. д.

а. K-ближайший сосед

б. Случайный лес

в. Деревья решений

д. Многослойный персептрон

е. Квадратичный дискриминантный классификатор

ф. SVM (ядро rbf)

Нам нужно выбрать классификаторы, которые лучше всего подходят для нашего набора данных, в зависимости от того, является ли наш набор данных линейно разделимым или нет.

· Набор данных с высокой дисперсией требует выделения признаков и применения метода нелинейной классификации.

· Набор данных с низкой дисперсией может быть классифицирован линейным методом.

1. Основные алгоритмы

A. Выполненные методы извлечения признаков

1. СПС

2. ЛДА

B. Выполненные методы классификации

1. СВМ

2. Повышение градиента

3. Случайный лес

4. Повышение XG

5. КНН

6. Логистическая регрессия

7. Наивный Байес

8. Дерево решений

Описание и работа базовых алгоритмов (ПОЧЕМУ ВЫБРАТЬ)

1. Классификатор SVM для Fashion MNSIT

A. SVM строит итеративную гиперплоскость в многомерном пространстве, минимизируя ошибку разделения разных классов. SVM находит гиперплоскость, которая максимизирует поля для четкого разделения набора данных на метки.

Б. Алгоритм и работа:

1. Постройте гиперплоскость, которая наилучшим образом разделит доступные классы в наборе данных.

2. Гиперплоскость следует выбирать таким образом, чтобы максимизировать расстояние между плоскостью и ближайшими точками данных, т. е. максимизировать маргинальную гиперплоскость.

3. Расстояние между ближайшими точками разных классов называется запасом. Итак, мы, в свою очередь, выбираем правое поле для набора данных.

4. Для вышеуказанного шага выберите соответствующее значение параметра C. Большие значения C имеют тенденцию искать гиперплоскости с небольшими отступами. Другими словами, мы строго приказываем алгоритму/модели не допускать неправильной классификации данных, нов этом процессе мы не позволим нашему алгоритму/модели обобщать.

5. С другой стороны, меньшее значение C приведет к тому, что алгоритм/модель выберет гиперплоскость с достаточно большим запасом. Теперь это может привести к некоторой неправильной классификации точек данных, но мы допускаем это, чтобы наш алгоритм мог обобщать. Другими словами, значение C — это стоимость неправильной классификации.

6. Таким образом, если значение C велико, SVM будет пытаться подстраиваться все больше и больше, что может привести к переоснащению. Небольшое значение C даст лучшие результаты с большим количеством неизвестных точек данных для классификации, поскольку оно будет хорошо обрабатывать зашумленные данные.

7. Наиболее важные гиперпараметры: {C, ядро}

а. C: (по умолчанию: 1) Это параметр регуляризации, который отвечает за понимание того, насколько ошибочная классификация может быть допущена каждым обучающим примером. Он обратно пропорционален разнице между классами в гиперплоскости. Большое значение c приводит к переоснащению модели.

б. Ядро: (по умолчанию: «rbf») Граница решения гиперплоскости между классами определяется ядрами. Ядро Poly генерирует новые функции, используя полиномиальную комбинацию извлеченных функций с использованием компонентов PCA (в нашем случае), тогда как «радиальная базисная функция» делает то же самое, находя расстояние между экземпляром данных и всеми другими экземплярами.

C. Причина выбора Fashion MNSIT:

1. Самая важная причина выбора SVM для нашего модного MNSIT с 5 метками — это встроенный уровень, который помогает SVM лучше интерпретировать данные, который является 'ядром'. . Использование ядра «rbf» поможет улучшить классификацию и уменьшить временную сложность. Но нам нужно будет найти оптимальную маржу, настроив лучшее значение для «C».

2. Нелинейная классификация может быть эффективно выполнена с использованием SVM, и он отображает входные данные в многомерные пространства признаков.

3. Используя соответствующую функцию ядра, SVM может обеспечить высокую производительность.

4. Незначительный риск чрезмерной подгонки.

5. SVM подходит для больших наборов данных.

6. Классификация изображений может выполняться хорошо, потому что SVM хорошо работает при высокой разреженности (признаки с нулевым значением).

7. В основном применимо для распознавания лиц, категоризации текста и т. д.

2. Классификатор KNN для Fashion MNSIT

A. KNN классифицирует, оценивая расстояния между входом I и всеми точками данных в наборе данных, выбирая k ближайших соседей к I, находя режим для меток для этих соседей в случае классификации и среднего в случае регресса.

Б. Алгоритм и работа:

1. Загрузите данные

2. Примените стандартный масштабатор или разделите его на 255 (из-за значений пикселей).

3. Извлеките функции, используя PCA или LDA (не подходит для наших данных) или любой другой метод выбора функций.

4. Инициализируйте K выбранным вами числом соседей, проверив обучающие данные с помощью CROSS VAL SCORE.

5. Для каждого входа I в данных

5.1 Найдите расстояние между I и всеми входными данными.

5.2 Добавьте расстояние и индекс I и соответствующий входной индекс к упорядоченному набору.

6. Отсортировать упорядоченный набор расстояний и индексов в порядке возрастания расстояний.

7. Выберите первые K записей из отсортированной коллекции.

8. Получить метки выбранных записей K

9. При классификации (наш случай) возвращается режим k меток.

10. Наиболее релевантные гиперпараметры: {n_neighbors, p, веса}

а. N_neighbors: (по умолчанию: 5) количество соседей, используемых для запросов.

б. Веса: (равномерно). В униформе все точки в окрестности имеют одинаковый вес, тогда как в «расстоянии» точки взвешиваются в зависимости от расстояния, обратного их расстоянию.

в. P: (по умолчанию: 2) это параметр мощности для метрики. P=1 относится к манхэттенскому расстоянию, p=2 относится к евклидову расстоянию,

A. Причина выбора модного MNSIT:

1. Граница решения KNN является гибкой, нелинейной и очень хорошо отражает классы. Таким образом, для Fashion MNSIT с 5 метками это может в итоге дать точность спуска.

2. Будучи непараметрическим, предположения о распределении данных не делаются.

3. Надежность пространства поиска. Таким образом, с соответствующими n_neighbors и метрикой расстояния KNN может выполнить хорошую классификацию для нашего набора данных с 5 метками.

4. Для нашего набора данных MNSIT о моде можно использовать KNN, настроив его с помощью различных гиперпараметров для весов («равномерность», «расстояние») и p («евклидово», «манхэттенское») после признака извлечения, и он будет классифицировать точки данных с приличной временной сложностью. Хотя точность может быть меньше, чем у SVM, который является одним из надежных нелинейных классификаторов при использовании с ядром «rbf».

5. Поскольку классы не должны быть линейно разделимы для KNN, это может привести к точности спуска.

6. Поскольку производительность различных методов также зависит от набора данных, в котором они используются, не существует метода, который лучше подходит для данной задачи. Таким образом, точность KNN можно рассматривать как основу для различных алгоритмов, которые мы будем выполнять.

3. Дерево решений для Fashion MNSIT — базовый уровень (временная сложность)

A. Простой для интерпретации алгоритм машинного обучения белого ящика, который можно интерпретировать путем проверки блок-схемы, сформированной при принятии решений алгоритмом (Python предоставляет функциональные возможности для того же). Алгоритм дерева решений работает, находя лучший атрибут для разделения набора данных и продолжая выполнять рекурсивное разбиение до тех пор, пока для поддеревьев не останется больше атрибутов или экземпляров.

Б. Алгоритм и работа:

1. Мера выбора атрибута используется для поиска наилучшего атрибута «скажем, B» для логического разделения набора данных. (Каждому признаку присваивается ранг) ASM может быть {'Прирост информации', 'Коэффициент усиления', 'Индекс Джини'}.

2. Атрибут «B» используется в качестве узла принятия решения, который разбивает набор данных на более мелкие подмножества.

3. Дерево решений формируется путем рекурсивного следования той же процедуре до тех пор, пока:

а. Неохваченных атрибутов не осталось.

б. Больше не осталось экземпляров для включения.

в. Все кортежи принадлежат одному и тому же значению атрибута.

4. Примечание. Каждый внутренний узел имеет правило/атрибут принятия решения, которое разбивает набор данных на дополнительные подмножества.

5. Наиболее релевантные гиперпараметры: {max_depth, критерий}

а. Max_depth: по умолчанию — нет, т. е. узлы расширяются до тех пор, пока все листовые узлы не будут содержать меньше выборок, чем min_samples_split.

б. Критерий: По умолчанию — Джини. Джини используется для выбора «индекса Джини» в качестве ASM, а энтропия используется для выбора «прироста информации».

C. Причина выбора Fashion MNSIT:

1. Без каких-либо предположений о распределении данных деревья решений могут хорошо обобщаться. Чтобы проверить, хорошо ли он работает с набором данных Fashion MNSIT, мы можем использовать его, настроив его для нескольких значений max_depth и критерия.

2. Деревья решений для моды MNSIT могут обеспечить меньшую временную сложность, поскольку не требуют слишком большого количества параметров.

3. Он может выступать в качестве базового уровня временной сложности для других алгоритмов, которые будут использоваться для классификации изображений моды MNSIT.

4. Деревья решений могут очень хорошо справляться с многоклассовыми задачами.

5. Хотя мы знаем, что другие алгоритмы могут достигать лучших результатов с точки зрения точности классификации изображений, что также было доказано на различных наборах данных изображений ранее. (Пример: классификация спутниковых изображений и т. д.)

6. Примечание. Дерево решений не рекомендуется использовать для классификации изображений, поскольку каждый пиксель рассматривается как функция, и DT должен будет принять решение и выполнить разбиение, используя лучший атрибут, полученный с помощью меры выбора атрибута (скажем, «Энтропия»), чтобы классифицировать картинки. В нашем случае это не даст лучшей точности из-за 784-пиксельных значений, но мы можем оценить это по главным компонентам. Его производительность можно сравнить со случайным лесом.

4. Random Forest for Fashion MNSIT

A. Случайный лес отличается от дерева решений, когда дело доходит до поиска корневого узла, он находит корневой узел случайным образом, а затем создает несколько деревьев решений для нескольких наборов выборки. Когда дело доходит до предсказания, он предсказывает выходные данные всех DT, а затем использует голосование для предсказания метки класса.

Б. Алгоритм и работа:

1. Выберите подмножество функций из всех функций. ‹произнесите ‘s’ от ‘f’›.

2. Из «s», используя лучшую точку разделения, найдите узел «d1».

3. Разделите узел «d» на подузлы, используя наилучшее разделение.

4. ПОВТОРЯЙТЕ [1,4], пока не будут покрыты все узлы.

5. ПОВТОРЯЙТЕ [1,5], пока не будет создано n деревьев.

6. Предсказать метки.

7. Используйте голосование для определения финальной метки.

Другими словами:

1. Возьмите n выборок из набора данных.

2. Теперь по каждой выборке постройте дерево решений.

3. Каждое дерево используется для предсказания класса, которому принадлежит запись данных.

4. Голосование проводится по всем прогнозируемым результатам.

5. Выбирается результат с наибольшим количеством голосов.

Примечание. Соответствующие гиперпараметры: {n_estimators, критерий}

a. n_estimators (по умолчанию: 100)à Общее количество деревьев в лесу.

b. Критерий (по умолчанию: «Джини»)à Измерение качества разделения. Это также может быть «энтропия» для получения информации, тогда как «Джини» используется для «индекса Джини».

C. Причина выбора Fashion MNSIT:

1. Поскольку наш набор данных Fashion MNSIT достаточно велик и в конечном итоге он позволит создать более глубокие деревья решений с помощью алгоритма DT, мы используем алгоритм Random Forest, который может быть ресурсоемким в вычислительном отношении, но в конечном итоге это даст лучшую точность за счет компромисса с временной сложностью.

2. Он позволяет избежать переобучения и очень хорошо работает с большими наборами данных. Таким образом, изменение критерия и n_оценщиков может обеспечить лучшие результаты без переобучения.

3. Хотя это может дать лучшие результаты, чем дерево решений, но модель не будет работать для сильно несбалансированных классов, и ее точность в такой ситуации резко ухудшится. Но в нашем случае Fashion MNSIT всего с 5 метками можно хорошо классифицировать с помощью случайного леса при наличии соответствующих гиперпараметров.

4. Используя как дерево решений, так и случайный лес, мы можем проанализировать разницу в точности, переоснащение (случайный лес не должен переобучать)

5. Он не слишком чувствителен к параметрам, используемым для настройки модели, и нет необходимости в обрезке деревьев.

5. Наивный байесовский метод MNSIT для моды — ЛИНЕЙНЫЙ КЛАССИФИКАТОР | Это приведет к плохим результатам.

— ПРИЧИНЫ ДЛЯ ВЫБОРА ОБЪЯСНЕНЫ —

A. Наивный Байес — это вероятностный и линейный классификатор, который рассматривает условное распределение вероятностей, т. е. вероятность присвоения класса входной выборке. Наивный Байес вычисляет условную вероятность всех классов, считая каждый признак независимым. Это очень быстро по сравнению с большинством алгоритмов.

Б. Алгоритм и работа:

1. Вероятности класса: вероятность каждого класса, т. е. количество выборок, принадлежащих к классу 0, деленное на общее количество выборок, принадлежащих ко всем 5 классам.

2. Условные вероятности: частота каждого значения признака для данного значения класса, деленная на частоту выборок с этим значением класса.

3. ШАГИ:

а. Суммируйте набор данных по классам.

б. Найдите вероятность класса.

в. Найдите условную вероятность.

д. Таким образом, обучение проводится.

е. Используя теорему Байеса, можно делать прогнозы для невидимых данных.

C. Причина выбора Fashion MNSIT:

1. Мы знаем, что Наивный Байес — это линейный классификатор, использующий условную вероятность для классификации, и он не будет хорошо обобщать наш набор данных Fashion MNSIT. Как будто модель полностью не видит условия, тогда она не будет правильно классифицировать тестовые данные для этого условия, поскольку работает с условной вероятностью.

2. Это также делает сильное предположение о распределении данных, что любые два объекта независимы для метки класса.

3. Чтобы увидеть, как линейные и вероятностные классификаторы работают с набором данных Fashion MNSIT, мы используем наивный байесовский классификатор.

6. Логистическая регрессия для MNSIT моды — ЛИНЕЙНЫЙ КЛАССИФИКАТОР

— ОБЪЯСНЕНИЕ ПРИЧИН ВЫБОРА —

A. Логистическая регрессия — это алгоритм предиктивного анализа, основанный на концепции вероятности. Она похожа на модель линейной регрессии, но с более сложной функцией стоимости. Он начинается с гипотезы ограничить функцию стоимости между [0,1].

Б. Алгоритм и работа:

1. Загрузите данные.

2. Выберите функцию разделения столбцов на два типа зависимых и независимых переменных.

3. Разделите данные на обучающие и тестовые наборы.

4. Подгоните модель к набору поездов и спрогнозируйте.

5. Оценка модели с использованием матрицы путаницы.

6. Рабочая характеристика приемника — это график истинно положительных и ложноположительных результатов.

C. Причина выбора Fashion MNSIT:

1. Поверхность решений логистической регрессии является линейной, чтобы сравнить, как линейные классификаторы обобщают наш набор данных Fashion MNSIT, и сравнить его эффективность с наивным байесовским алгоритмом, мы пробуем логистическую регрессию.

2. Это никогда не подходит для проблемы с несколькими классами. Но решатель lbfgs можно использовать для многоклассовой задачи.

3. ПРИМЕЧАНИЕ. Мы используем логистическую регрессию для проверки точности классификации с помощью классификатора OneVSRest. Используя логистическую регрессию с классификатором OneVSRest, мы создадим 5 классификаторов для 5 меток в нашем наборе данных Fashion MNSIT. т. е. для каждой метки (КЛАСС 0) он будет обучать классификатор маркировке класса 0 и т. д.

4. Функция правдоподобия перестанет сходиться, как только будет достигнуто полное разделение, чего не произойдет в нашем случае, поскольку наш набор изображений не будет полностью разделен с помощью логистической регрессии.

7. Усиление градиента для Fashion MNSIT

A. Повышение градиента — это вероятность приблизительно правильного обучения, которое берет слабую гипотезу или слабого ученика и настраивает ее для построения сильной гипотезы. Алгоритм повышения градиента использует деревья решений в качестве слабого ученика, и деревья добавляются к модели, которая имеет фиксированные значения и не имеет тенденции к изменению.

Б. Алгоритм и работа:

1. В регрессии мы вычисляем среднее значение целевой переменной.

2. Рассчитайте остатки. Теперь это в основном означает остаточное равенство (фактическое значение-прогнозируемое значение).

3. Затем строит дерево решений. Дерево решений сделано таким образом, что каждый из листьев содержит прогноз, который также можно назвать прогнозированием остатка. Здесь, если количество остатков больше, чем листьев, то несколько остатков входят в один лист. Итак, в этом сценарии мы берем среднее значение и формируем более простое дерево решений. Следует отметить, что это предсказание остатка, а не точная метка.

4. Теперь образцы набора данных проходят через дерево решений, где остатки в листьях являются предикторами для реальных меток.

5. ПРИМЕЧАНИЕ. Таким образом, при обучении набора данных, если мы будем делать небольшие шаги, общая дисперсия будет меньше, следовательно, скорость обучения входит в картину. Таким образом, когда скорость обучения, умноженная на остаток, добавляется к средней цене (в регрессии), мы получаем прогнозируемые результаты.

6. Теперь остатки обновляются в соответствии с предыдущими шагами.

7. Повторите шаги с 3 по 6 снова и снова в соответствии с настройкой гиперпараметров. Например, количество параметров соответствует итерациям.

8. Когда обучение завершено, все напряжения используются в окончательном прогнозе (среднее значение плюс все остатки, умноженные на скорость обучения).

C. Причина выбора Fashion MNSIT:

1. Чтобы сравнить различия в точности с решением и случайным лесом, а также изучить различные гиперпараметры, мы пытаемся повысить градиент.

2. Анализировать эффект переобучения, которого не было в Random forest даже при увеличении оценок.

3. Мы будем использовать повышение градиента с перекрестной проверкой, чтобы нейтрализовать переоснащение, вызванное минимизацией ошибки.

4. Он может установить верхнюю границу временной сложности для классических методов, поскольку может привести к созданию огромного количества деревьев.

8. XG Boost for Fashion MNSIT

A. Это расширенная версия бустинга дерева градиентов, также известная как бустинг Xtreme Gradient, которая сокращает время сходимости и повышает производительность. Он обеспечивает параллельное повышение дерева. Он оптимизирует алгоритм повышения градиента за счет параллельной обработки, обрезки деревьев, обработки пропущенных значений и регуляризации, чтобы избежать переобучения и смещения.

Б. Алгоритм и работа:

1. Загрузите набор данных и библиотеку XGboost.

2. Затем мы создаем тренировочные и тестовые сплиты.

3. Нам нужно изменить форму данных на форму, которую может обрабатывать XGboost. Формат называется DMatrix.

4. Затем мы определяем модель XGBoost. Теперь здесь определены параметры ансамбля повышения градиента. Некоторые из них:

а. Цель: определить функцию потерь

б. num_class: количество классов в наборе данных

в. max_depth: максимальная глубина деревьев решений, которые мы обучаем

д. eval_metric: это оценочная матрица для данных проверки

5. Наконец, для набора данных выполняется обучение и проверка.

A. Причина выбора Fashion MNSIT:

1. Встроенная регуляризация L1 и L2 предотвратит переоснащение формы модели и может в конечном итоге очень хорошо классифицировать изображения. (Мы будем использовать альфа или лямбда в качестве регуляризатора).

2. Повышение XG будет производить разделение до тех пор, пока не будет достигнута максимальная глубина, независимо от отрицательного значения убытка. Сохраняет комбинированный эффект.

3. Чтобы изучить преимущества XGBoost перед Gradient Boosting, мы используем его для классификации нашего набора данных изображений.

4. Он также может работать параллельно в различных сетях и на разных графических процессорах. это делает его масштабируемым для больших наборов данных.

9. PCA и LDA для извлечения признаков

A. Алгоритм и работа (PCA):

1. Нормализация. Как правило, это первый шаг при использовании PCA для выбора функций. Это связано с тем, что PCA весьма чувствителен к дисперсии рассматриваемых переменных. Если диапазоны для переменных различны, то, скорее всего, преобладает переменная с более длинным диапазоном. Итак, мы выполняем нормализацию, чтобы убедиться, что рассматриваемые переменные вносят свой вклад без смещения.

2. Вычисление ковариационной матрицы. Мы вычисляем ковариационную матрицу для анализа взаимосвязи рассматриваемых переменных. Ковариационная матрица представляет собой симметричную матрицу размера nXn, где n относится к размерности набора данных.

3. Вычислите собственные значения и векторы. Теперь нам нужно построить собственные значения и векторы, чтобы определить главные компоненты. Основные компоненты — это, по сути, новые функции, которые мы формируем из линейной комбинации существующих функций, и они формируются таким образом, что сами по себе совершенно не связаны друг с другом.

4. Выбор основных компонентов. Это также называется шагом уменьшения размерности. Мы упорядочиваем главные компоненты в порядке убывания их собственных значений, потому что мы хотим выбрать те начальные компоненты, которые учитывают максимальную дисперсию данных и являются значимыми. Затем мы находим кумулятивную объясненную дисперсию, чтобы выбрать основные компоненты, которые учитывают пороговую дисперсию (в нашем случае 85%), которую мы считаем необходимой для учета большей части вариации данных.

B. Алгоритм и работа (LDA):

1. Цель {Свести к минимуму разнообразие каждого класса, Максимально увеличить разделение классов.}

2. Мы должны рассчитать матрицы рассеяния внутри класса и между классами.

3. Затем вычислить собственные векторы и связанные с ними собственные значения для только что вычисленных матриц.

4. Сортируем и выбираем верхние значения.

5. Затем мы формируем матрицу, содержащую соответствующие собственные векторы.

6. Затем мы находим новые функции с помощью точечного произведения рассчитанной матрицы и набора данных, которые у нас есть, которые по существу называются компонентами LDA и равны общему количеству классов в исходном наборе данных минус 1.

В. Примечание:

1. Чтобы уменьшить количество признаков из 784 пикселей, мы используем PCA и LDA для извлечения признаков. Изучив лучший метод из двух, выполнив некоторую классификацию, мы выберем один и приступим к извлечению признаков.

2. PCA удаляет коррелированные признаки, что ничего не дает при принятии решения.

3. PCA может уменьшить переоснащение, когда классификаторы применяются для классификации меток классов.

4. LDA оптимален тогда и только тогда, когда классы являются гауссовыми и имеют одинаковую ковариацию.

PCA предназначен для использования для функций, которые сильно коррелированы.

Нахождение количества компонентов, объясняющих 85% дисперсии (PCA), перед применением PCA для этого количества компонентов.

ТАКЖЕ ПРИМЕНЯЕМ LDA, ЧТОБЫ ПРОВЕРИТЬ, КАКОЕ ИЗОБРАЖЕНИЕ ЛУЧШЕ РАБОТАЕТ НА НАШЕМ НАБОРЕ ДАННЫХ ИЗОБРАЖЕНИЙ.

ПРИМЕЧАНИЕ: МЫ ПРОИЗВОДИЛИ ВСЕ АЛГОРИТМЫ В РАЗНЫХ НОУТБУКАХ, ПОЭТОМУ ПЕРЕМЕННЫЕ ДЛЯ LDA И PCA В ЭТОМ ФАЙЛЕ WORD МОГУТ БЫТЬ ОДИНАКОВЫМИ. ТАКИМ ОБРАЗОМ, МЫ ЯВНО УКАЗЫВАЕМ, КАКОЙ АЛГОРИТМ КЛАССИФИКАЦИИ ВЫПОЛНЯЕТСЯ ПОСЛЕ КАКОГО МЕТОДА ИЗВЛЕЧЕНИЯ ПРИЗНАКОВ!!!!!!!!

PCA-SVM

LDA-SVM

PCA-GRADIENT BOOSTING

LDA – ПОВЫШЕНИЕ ГРАДИЕНТА

ДЕРЕВО РЕШЕНИЙ PCA

PCA-XGBOOST

PCA – RANDOM FOREST

PCA-KNN

Применение лучших параметров к проверочным данным | к=15 | веса = «расстояние» | р=2

БАЙЕС НАИВНЫЙ ПКА

PCA-логистическая регрессия

РЕЗУЛЬТАТЫ И АНАЛИЗ

ЦЕНТР ФОКУСА: СЛОЖНОСТЬ ВРЕМЕНИ

СЛОЖНОСТЬ ВРЕМЕНИ В АЛГОРИТМАХ С ИЗМЕНЕНИЕМ ПАРАМЕТРОВ

1.PCA-SVM

ЛУЧШИЕ ГИПЕРПАРАМЕТРЫ, ВЫБРАННЫЕ С ИСПОЛЬЗОВАНИЕМ ПОКАЗАТЕЛЯ ПЕРЕКРЕСТНЫХ ЗНАЧЕНИЙ. ПО ВСЕМУ ВРЕМЕНИ И ТОЧНОСТИ ГИПЕРПАРАМЕТРА ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ К КОДУ.

1. Гиперпараметры: {C=10, kernel=’rbf’, Degree=3}

Время: 81,92

Точность: 89,64 %

2. Гиперпараметры: {C=11.7, kernel=’rbf’, Degree=3}

Время: 82,24

Точность: 89,69 %

3. Гиперпараметры: {C=12, kernel=’rbf’, Degree=3}

Время: 81,92

Точность: 89,70 %

4. Гиперпараметры: {C=10, kernel=’poly’}

Время: 95,32

Точность: 87,64%

АНАЛИЗ:

1. Время сходимости модели не сильно меняется с изменением значения C, что можно увидеть в приведенных выше настроенных параметрах.

2. Таким образом, без учета времени, нам нужно рассмотреть случай переобучения и точности.

3. Здесь мы можем просто выбрать значение C=11,7/12, так как оно хорошо сходится, а также почти одинаково для других значений.

4. Примечание. C был выбран на основе случайного поиска cv и перекрестной оценки Val.

2.PCA-случайный лес

ЛУЧШИЕ ГИПЕРПАРАМЕТРЫ, ВЫБРАННЫЕ С ИСПОЛЬЗОВАНИЕМ ПОКАЗАТЕЛЯ ПЕРЕКРЕСТНЫХ ЗНАЧЕНИЙ. ПО ВСЕМУ ВРЕМЕНИ И ТОЧНОСТИ ГИПЕРПАРАМЕТРА ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ К КОДУ.

1. Гиперпараметры: {depth=None,n_estimators=150,criterion=’gini’.

Время: 63,72

Точность: 87,26 %

2. Гиперпараметры:{depth=None,n_estimators=150, критерий='энтропия'}

Время: 152,843

Точность: 87,40 %

АНАЛИЗ:

1. Отчетливо видно, что временная сложность, когда критерий «Джини» был приличным, и модели потребовалось 63 секунды для обучения и тестирования, тогда как «Энтропия» заняла более чем вдвое больше времени. взято первым.

2. Повышена точность в «Энтропии».

Изменение точности = 87,40–87,26 = 0,14 %, что не является большим улучшением, если учитывать время.

3. Таким образом, учитывая время, нам нужно взять индекс Джини в качестве параметра для критерия.

ПРИЧИНА:

Энтропия.Прирост информации определяет разницу между энтропией до разделения и средней энтропией после разделения набора данных на основе заданных значений признаков. Таким образом, требуется больше времени для вычислений.

Индекс Джини.Индекс Джини выполняет бинарное разделение для каждой функции.

3. PCA-Дерево принятия решений

ЛУЧШИЕ ГИПЕРПАРАМЕТРЫ, ВЫБРАННЫЕ С ИСПОЛЬЗОВАНИЕМ ПОКАЗАТЕЛЯ ПЕРЕКРЕСТНЫХ ЗНАЧЕНИЙ. ПО ВСЕМУ ВРЕМЕНИ И ТОЧНОСТИ ГИПЕРПАРАМЕТРА ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ К КОДУ.

1. Гиперпараметры: {depth=15, критерий=’Джини’}

Время: 3,96

Точность: 81,38 %

2. Гиперпараметры: {глубина=15, критерий='энтропия'}

Время: 8,8846

Точность: 81,52 %

АНАЛИЗ:

1. Временная сложность для дерева решений с критерием = 'Джини' составляет менее половины сложности "энтропии".

2. Опять же, если мы рассматриваем временную сложность, следует выбрать Criterion=’Gini’, поскольку точность не сильно влияет на точность.

4.LDA-SVM

ЛУЧШИЕ ГИПЕРПАРАМЕТРЫ, ВЫБРАННЫЕ С ИСПОЛЬЗОВАНИЕМ ПОКАЗАТЕЛЯ ПЕРЕКРЕСТНЫХ ЗНАЧЕНИЙ. ПО ВСЕМУ ВРЕМЕНИ И ТОЧНОСТИ ГИПЕРПАРАМЕТРА ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ К КОДУ.

1. Гиперпараметры: {C=10, kernel=’rbf’, Degree=3}

Время: 65,208

Точность: 72,76%

АНАЛИЗ:

1. Время, затрачиваемое LDA-SVM на те же гиперпараметры, что и для PCA-SVM, меньше на 20 секунд, а точность значительно снижается.

2. SVM быстрее для LDA, потому что количество признаков, извлеченных LDA = (Количество меток классов)-1, независимо от объясненной дисперсии. Поскольку он фокусируется на максимальном разделении между классами при минимальных различиях внутри класса, что приводит к меткам len(class)-1.

5. PCA-наивный байесовский анализ

ЛУЧШИЕ ГИПЕРПАРАМЕТРЫ, ВЫБРАННЫЕ С ИСПОЛЬЗОВАНИЕМ ПОКАЗАТЕЛЯ ПЕРЕКРЕСТНЫХ ЗНАЧЕНИЙ. ПО ВСЕМУ ВРЕМЕНИ И ТОЧНОСТИ ГИПЕРПАРАМЕТРА ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ К КОДУ.

1. Гиперпараметры: {prior=None, var_smoothing = 1e-09}

Время: 0,05684

Точность: 62,083 %

АНАЛИЗ:

1. Время, затрачиваемое Наивным Байесом, чрезвычайно меньше из-за того, что в нем есть тривиальные операции подсчета и деления, которые делают вычисления быстрыми.

2. Требуются только априорные значения вероятности, которые являются постоянными, и используются одни и те же значения.

3. Как обсуждалось в части (1.1), мы выбрали наивный байесовский метод для анализа времени и использовали его в качестве основы для линейных классификаторов.

4. Точность 62 % можно считать худшей, но для нашего набора данных она в 4 раза больше случайного угадывания.

6.PCA-логистическая регрессия

ЛУЧШИЕ ГИПЕРПАРАМЕТРЫ, ВЫБРАННЫЕ С ИСПОЛЬЗОВАНИЕМ ПОКАЗАТЕЛЯ ПЕРЕКРЕСТНЫХ ЗНАЧЕНИЙ. ПО ВСЕМУ ВРЕМЕНИ И ТОЧНОСТИ ГИПЕРПАРАМЕТРА ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ К КОДУ.

1. Гиперпараметры: {solver= lbfgs, max_iter=4000}

Время: 7.111

Точность: 69,475 %

АНАЛИЗ:

1. Время, затрачиваемое на логистическую регрессию, составляет 7 секунд, что аналогично наивному байесовскому методу с небольшим улучшением точности.

2. Строгая выпуклость логистической регрессии делает ее быстрее даже для больших наборов данных.

3. Поверхность решений логистической регрессии является линейной, чтобы сравнить, как линейные классификаторы обобщают наш набор данных Fashion MNSIT и сравнить его эффективность с наивным байесовским алгоритмом, мы попробовали логистическую регрессию.

7.Усиление градиента PCA

ЛУЧШИЕ ГИПЕРПАРАМЕТРЫ, ВЫБРАННЫЕ С ИСПОЛЬЗОВАНИЕМ ПОКАЗАТЕЛЯ ПЕРЕКРЕСТНЫХ ЗНАЧЕНИЙ. ПО ВСЕМУ ВРЕМЕНИ И ТОЧНОСТИ ГИПЕРПАРАМЕТРА ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ К КОДУ.

1. Гиперпараметры:

{max_depth=10, n_estimators=100, lr=0,1, loss='отклонение', критерий='gini'}

Время: 14 22

Точность: 88,275 %

АНАЛИЗ:

1. Временная сложность повышения градиента для вышеуказанных гиперпараметров составляет около 1422 секунд, что намного выше из-за того, что он продолжает минимизировать ошибку, формируя 1 дерево за раз, и сохраняет на корректировку недостатков существующего слабого ученика.

2. В перекрестном показателе Val временная сложность для индекса Джини и энтропии указана ниже:

а. {max_depth=10, n_estimators=10, lr=0,01, loss=’deviance’, критерий=’gini’} à Время: 752,5

b. {max_depth=30, n_estimators=10, lr=0,01, loss=’deviance’, критерий=’gini’} à Time: 1366,96

Результат. Два приведенных выше результата взяты из нашего кода перекрестной оценки, который показывает, что изменение глубины оказывает большое влияние на время.

Были испробованы различные другие параметры, и было обнаружено, что:

1. Max_depth, n_оценщики прямо пропорциональны временной сложности.

Ex:

а. Средняя точность при скорости обучения = 0,01, n_estimators = 10 и при max_depth = 10 составляет 82,34%, где затраченное время составляет 752.

б. Средняя точность при скорости обучения = 0,01, n_estimators = 50 и при max_depth = 10 составляет 84,33%, где затраченное время составляет 3498,92.

Таким образом, (n_estimators*5) à (Time*5)

8.LDA-Gradient Boost

ЛУЧШИЕ ГИПЕРПАРАМЕТРЫ, ВЫБРАННЫЕ С ИСПОЛЬЗОВАНИЕМ ПОКАЗАТЕЛЯ ПЕРЕКРЕСТНЫХ ЗНАЧЕНИЙ. ПО ВСЕМУ ВРЕМЕНИ И ТОЧНОСТИ ГИПЕРПАРАМЕТРА ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ К КОДУ.

1. Гиперпараметры:

{max_depth=10, n_estimators=100, lr=0,1, loss='отклонение', критерий='gini'}

Время: 161,147

Точность: 71,40 %

АНАЛИЗ:

1. Время, затрачиваемое LDA-Gradient Boosting для тех же гиперпараметров, которые используются для PCA-Gradient Boosting, чрезвычайно меньше, а точность значительно снижается.

2. ГБ быстрее для LDA, потому что количество функций, извлеченных LDA = (Количество меток классов)-1.

9.PCA-KNN

ЛУЧШИЕ ГИПЕРПАРАМЕТРЫ, ВЫБРАННЫЕ С ИСПОЛЬЗОВАНИЕМ ПОКАЗАТЕЛЯ ПЕРЕКРЕСТНЫХ ЗНАЧЕНИЙ. ПО ВСЕМУ ВРЕМЕНИ И ТОЧНОСТИ ГИПЕРПАРАМЕТРА ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ К КОДУ.

1. Гиперпараметры:

{k=15, weights=’distance’, p=2}

Время: 9,94

Точность: 86,375 %

2. КРЕСТ-ЗНАЧЕНИЕ:

Возьмем значение k=2 только из нашего кода. Мы протестировали несколько значений k.

а. КНН | Вес = «расстояние» | р = 2 (евклидово)

Средняя точность при k = 2 составляет 0,83353333333333332 Затраченное время 20,9283822

б. КНН | Вес = «расстояние» | р=1 (Манхэттен)

Средняя точность при k = 2 составляет 0,81798333333333333 Затраченное время 78,98695889599912

в. КНН | Вес = «однородный» | р=2 (евклидово)

Средняя точность при k = 2 составляет 0,8177. Затраченное время 24,549888894995092.

д. КНН | Вес = «однородный» | р=1 (Манхэттен)

Средняя точность при k = 2 составляет 0,7990999999999999 Затраченное время 81,6868522060031

АНАЛИЗ:

1. Из приведенных выше результатов ясно видно, что когда веса = [расстояние или равномерное] и p является евклидовым, то есть p = 2, затраченное время меньше, чем в 4 раза, чем затраченное время когда р=1.

2. Когда учитываются веса, время, затрачиваемое моделью, почти одинаково.

10. PCA-XGBoost

ЛУЧШИЕ ГИПЕРПАРАМЕТРЫ, ВЫБРАННЫЕ С ИСПОЛЬЗОВАНИЕМ ПОКАЗАТЕЛЯ ПЕРЕКРЕСТНЫХ ЗНАЧЕНИЙ. ПО ВСЕМУ ВРЕМЕНИ И ТОЧНОСТИ ГИПЕРПАРАМЕТРА ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ К КОДУ.

1. Гиперпараметры:

{задача: несколько: softmax, max_depth=5}

Время: 333,67

Точность: 88,13 %

2. Гиперпараметры:

{задача: несколько: softmax, max_depth=6}

Время: 891,22

Точность: 89,02 %

3. Гиперпараметры:

{задача: несколько: softmax, max_depth=8}

Время: 1351,35

Точность: 88,99 %

4. Гиперпараметры:

{задача: несколько: softmax, max_depth=10}

Время: 1788,06

Точность: 89,24 %

5. Гиперпараметры:

{задача: несколько: softmax, max_depth=20}

Время: 2272,26

Точность: 89,34 %

6. Гиперпараметры:

{задача: несколько: softmax, depth=25}

Время: 2685,08

Точность: 89,18 %

АНАЛИЗ:

1. С увеличением max_depth время вначале увеличивается экспоненциально.

2. Если принять во внимание время, то глубина = 5 является наиболее привлекательным значением глубины с компромиссом около 1,21% точности проверки, что не является хорошим выбором.

СЛОЖНОСТЬ ВРЕМЕНИ МЕЖДУ АЛГОСАМИ:

Выбор лучших гиперпараметров с учетом временной сложности и точности. Вот результаты:

Анализ:

1. Если мы чрезвычайно сосредоточены на времени, то дерево решений может быть хорошим выбором для нашего набора данных.

2. Если мы ориентируемся как на точность, так и на время, то PCA-SVM — отличный выбор, учитывая точность и время.

ЦЕЛЬ ФОКУСА: ТОЧНОСТЬ

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — СРАВНЕНИЕ АЛГОРИТМА И ПАРАМ. ВНУТРИ АЛГО И МЕЖДУ АЛГО.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

1.PCA-SVM

1. Гиперпараметрыà {ядро, C, степень

C: (По умолчанию: 1) Это параметр регуляризации, который отвечает за понимание того, насколько ошибочная классификация может быть допущена каждым обучающим примером. Он обратно пропорционален разнице между классами в гиперплоскости. Большое значение c приводит к переоснащению модели.

Ядро: (По умолчанию: ‘rbf’) Граница решения гиперплоскости между классами определяется ядрами. Ядро Poly генерирует новые функции, используя полиномиальную комбинацию извлеченных функций с использованием компонентов PCA (в нашем случае), тогда как «радиальная базисная функция» делает то же самое, находя расстояние между экземпляром данных и всеми другими экземплярами.

Степень: (по умолчанию: 3)Игнорируется всеми остальными ядрами, кроме poly.

2. Сценарий использования/выбор дизайна: (количество параметров)

1. Мы использовали kernel= {'rbf', 'poly'} и перекрестно проверили вышеуказанные значения c. (Также выполнялся рандомизированный поиск в логарифмической шкале.

2. Наилучшая точность была обнаружена при C = 11,7 и kernel = «rbf», для которых мы проверили нашу модель на 12000 значений (20% данных обучения).

3. Выбор дизайна для нашей задачи классификации изображений с SVM:

PCA с общей объясненной дисперсией 85% (42 компонента).

SVC (C = 11,7, ядро ​​​​= «rbf») без переобучения и с низкой дисперсией.

3. Матрица путаницы:

Для {C= 11.7, kernel= ‘rbf’} в наборе проверки:

Точность 89,69%

4. Отчет о классификации:

Анализ:

1. SVM, применяемый с лучшими параметрами для основных компонентов, классифицирует очень хорошо, а лучшей классифицируемой меткой класса является метка класса 0 с точностью 0,95.

2. Ярлык класса с высокой степенью ошибочной классификации — это ярлык класса 2 с точностью 0,84.

3. Уровень отзыва для класса 0 — самый высокий.

4. Таким образом, SVM с наилучшими выбранными параметрами классифицирует класс 0 с высокой точностью.

2. PCA-СЛУЧАЙНЫЙ ЛЕС

1. гиперпараметры: {n_estimators, критерий, max_depth,

n_estimators (по умолчанию: 100)à Общее количество деревьев в лесу. С увеличением n_estimators временная сложность резко возрастает, но точность в этом компромиссе также улучшается.

Критерий (по умолчанию: «Джини»)à Измерение качества разделения. Это также может быть «энтропия» для получения информации, тогда как «Джини» используется для «индекса Джини».

Max_depth (по умолчанию: None)à Максимальная глубина дерева до достижения последнего конечного узла.

2. Сценарий использования/выбор дизайна: (количество параметров)

1. Мы использовали Criterion= {‘gini’, ’entropy’} с указанными выше параметрами и прошли перекрестную проверку.

2. Наилучшая точность была обнаружена при n_estimators=150 и критерии = «энтропия», для которых мы проверили нашу модель на 12000 значений (20% обучающих данных).

3. Выбор дизайна для нашей задачи классификации изображений с помощью RF:

PCA с общей объясненной дисперсией 85% (42 компонента).

RandomForestClassifier (max_depth = None, n_estimators = 150, Criterion = «энтропия», random_state = 42).

3. Матрица путаницы: {'энтропия'}

Для {max_depth=None, n_estimators=150,Criterion=’entropy’} в наборе проверки:

Точность 87,40%

4. Отчет о классификации: {'энтропия'}

Джини

Для {max_depth=Нет, n_estimators=150,Criterion=’gini’} в наборе проверки:

Точность 87,26%

Анализ: {Для "энтропии"

1. Случайный лес применяется с лучшими параметрами для основных компонентов с лучшей классификационной меткой класса 0 с точностью 0,94.

2. Ярлык класса с высокой степенью ошибочной классификации — это ярлык класса 2 с точностью 0,81.

3. Уровень отзыва для класса 0 является самым высоким, за ним следует класс 4.

4. Таким образом, RF с наилучшими выбранными параметрами классифицирует класс 0 с высокой точностью.

3.ДЕРЕВО РЕШЕНИЙ PCA

1. гиперпараметры: {n_estimators, критерий, max_depth,

Критерий (по умолчанию: «Джини»)à Измерение качества разделения. Это также может быть «энтропия» для получения информации, тогда как «Джини» используется для «индекса Джини». Энтропия каким-то образом улучшает точность в зависимости от времени.

Max_depth (по умолчанию: None)à Максимальная глубина дерева до достижения последнего конечного узла.

2. Сценарий использования/выбор дизайна: (количество параметров)

1. Мы использовали Criterion= {‘gini’, ’entropy’} с указанными выше параметрами и прошли перекрестную проверку.

2. Наилучшая точность была обнаружена при depth=15 и criterion= ‘entropy’, но временная сложность была в два раза выше, чем у ‘gini’. Но мы по-прежнему выбираем «энтропию», если ориентируемся на точность, а временная сложность уже очень низка, что делает разницу незначительной на практике. мы проверили нашу модель на 12000 значений (20% обучающих данных).

3. Выбор дизайна для нашей задачи классификации изображений с помощью DT:

PCA с общей объясненной дисперсией 85% (42 компонента).

DecisionTreeClassifier (max_depth = 15, критерий = «энтропия»).

3. Матрица путаницы: {'энтропия'}

Для {max_depth=15, Criterion=’entropy’} в наборе проверки:

Точность 81,52%

{Джини}

Для {max_depth=15, Criterion=gini} в наборе проверки:

Точность 81,38%

Анализ: {Для "энтропии"

1. Дерево решений применяется с лучшими параметрами{depth=15, критерий=’энтропия’} для основных компонентов с наилучшей классификационной меткой класса 0 с точностью 0,91.

2. Ярлык класса с высокой степенью ошибочной классификации — это ярлык класса 2 с точностью 0,72.

3. Уровень отзыва для класса {0,1} является самым высоким, за ним следует класс 4.

4. Таким образом, ДП с наилучшими выбранными параметрами классифицирует класс 0 с высокой точностью.

4.LDA-SVM

1. Гиперпараметрыà{kernel, C}

C: (По умолчанию: 1) Это параметр регуляризации, который отвечает за понимание того, насколько ошибочная классификация может быть допущена каждым обучающим примером. Он обратно пропорционален разнице между классами в гиперплоскости. Большое значение c приводит к переоснащению модели.

Ядро: (По умолчанию: ‘rbf’) Граница решения гиперплоскости между классами определяется ядрами. Ядро Poly генерирует новые функции, используя полиномиальную комбинацию извлеченных функций с использованием компонентов PCA (в нашем случае), тогда как «радиальная базисная функция» делает то же самое, находя расстояние между экземпляром данных и всеми другими экземплярами.

2. Сценарий использования/выбор дизайна: (количество параметров)

1. Мы использовали kernel= {‘rbf’} и перекрестно проверили указанные выше значения c.

2. Наилучшая точность была обнаружена при C = 10 и kernel = «rbf», для которых мы проверили нашу модель на 12000 значений (20% обучающих данных).

3. Выбор дизайна для нашей задачи классификации изображений с SVM:

LDA(решатель=’svd’)

SVC (C = 10, kernel = 'rbf') без переобучения и с низкой дисперсией.

4. Матрица путаницы:

Для {C= 10, kernel= ‘rbf’} в наборе проверки:

Точность 72,76%

5. Отчет о классификации:

Анализ:

1. SVM, примененный с лучшими параметрами на LDA, классифицирует метку класса 0 с точностью 0,84.

2. Ярлык класса с высокой степенью ошибочной классификации является ярлыком класса 2 с точностью 0,59.

3. Уровень отзыва класса 0 является самым высоким.

4. Таким образом, LDA-SVM с наилучшими выбранными параметрами с высокой точностью классифицирует класс 0.

5. LDA оптимален тогда и только тогда, когда классы являются гауссовыми и имеют одинаковую ковариацию.

5. PCA-наивный байесовский анализ

1. Гиперпараметрыà{Priors, var_smoothing}

Приоритеты: (по умолчанию: нет).Приоритеты — это вероятность классов. Если они указаны явно, они не корректируются в соответствии с набором данных.

Var_smoothing (по умолчанию: 1e-9): область, указывающая наибольшую дисперсию всех признаков, которая добавляется к дисперсии для стабильности вычислений.

Примечание. Это делает сильное предположение о распределении данных о том, что любые две функции независимы для метки класса.

2. Сценарий использования/выбор дизайна: (количество параметров)

1. Мы использовали значения по умолчанию для обоих параметров {‘priors’, var_smoothing}.

2. Мы используем этот линейный классификатор, чтобы проверить, как линейные классификаторы работают с набором данных изображений, подобным нашему.

3. Выбор дизайна для нашей задачи классификации изображений с SVM:

PCA с общей объясненной дисперсией 85% (42 компонента).

GaussianNB(приорс=Нет, var_smoothing=1e-09).

3. Матрица путаницы:

Для { Priors = None, var_smoothing = 1e-09} в наборе проверки:

Точность 62,08%

4. Отчет о классификации:

Анализ:

1. Наивный байесовский метод одинаково классифицирует класс 1, класс 4 и класс 0, давая точность 0,68 и 0,69.

2. Ярлык класса с высокой степенью ошибочной классификации является ярлыком класса 2 с точностью 0,44.

3. Уровень отзыва класса 0 является самым высоким.

4. Таким образом, наивный байесовский алгоритм с наилучшими выбранными параметрами классифицирует классы 0,1,4 почти с одинаковой точностью.

5. Если условие полностью невидимо для модели, то она не будет правильно классифицировать тестовые данные для этого условия, поскольку работает с условной вероятностью.

6. Это обеспечило лучшую точность, чем случайное угадывание для всех меток классов.

6. РСА-ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ

1. Гиперпараметрыà{solver, max_iter}

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

Max_iter (по умолчанию: 100):количество итераций, необходимое для сходимости решателя (в нашем случае lbfgs).

Примечание. Функция правдоподобия перестанет сходиться после достижения полного разделения.

.

2. Сценарий использования/выбор дизайна: (количество параметров)

1. Использование значений по умолчанию с max_iter=4000, чтобы lbfgs правильно сошлись в нашем наборе данных.

2. Мы используем этот линейный классификатор, чтобы проверить, как работают линейные классификаторы, и сравнить производительность как наивного Байеса, так и логистической регрессии.

3. Выбор дизайна для нашей задачи классификации изображений с SVM:

PCA с общей объясненной дисперсией 85% (42 компонента).

Логистическая регрессия (решатель = lbfgs, max_iter = 4000).

3. Матрица путаницы:

Для {solver=lbfgs, max_iter=4000} в наборе проверки:

Точность 69,475%

4. Отчет о классификации:

Анализ:

1. Логистическая регрессия очень хорошо классифицирует класс 0 по сравнению с наивным байесовским методом, давая точность 0,81, что почти в 1,19 раза больше, чем у наивного байесовского метода.

2. Сильно неправильно классифицированная метка класса снова является меткой класса 2 с точностью 0,55, что все еще лучше, чем у наивного байесовского метода.

3. Уровень отзыва класса 0 самый высокий, за ним следует класс 4.

4. Таким образом, логистическая регрессия намного лучше, чем Наивный Байес, для классификации изображений, учитывая тот факт, что она не зависит от условных вероятностей.

7.PCA – ПОВЫШЕНИЕ ГРАДИЕНТА

1. гиперпараметры:{n_estimators,learning_rate,max_depth,criterion}

n_estimators (по умолчанию: 100)à Общее количество деревьев в лесу. С увеличением n_estimators временная сложность резко возрастает, но точность в этом компромиссе также улучшается.

Max_depth (по умолчанию: 3)à Максимальная глубина дерева до достижения последнего конечного узла.

Learning_rate (по умолчанию:)à В алгоритме оптимизации скорость обучения определяет размер шага на каждой итерации при поиске минимума функции потерь (скажем, отклонения)

2. Сценарий использования/выбор дизайна: (количество параметров)

1. Мы использовали max_depth= ​​{3,5,10,1510,50} с указанными выше параметрами и прошли перекрестную проверку.

2. Наилучшая точность была обнаружена при n_estimators=100, learning_rate=0,1, max_depth= ​​10, для которых мы проверили нашу модель на 12000 значений (20% обучающих данных).

3. При указанных выше гиперпараметрах достигнута точность 88,27%.

4. Выбор дизайна для нашей задачи классификации изображений с помощью RF:

PCA с общей объясненной дисперсией 85% (42 компонента).

GradientBoostingClassifier (потеря = «отклонение», n_estimators = 100, скорость обучения = 0,1, максимальная_глубина = 10).

3. Матрица путаницы:

Для {loss=’deviance’,n_estimators=100,learning_rate=0,1, max_depth=10} в наборе проверки:

Точность 88,275%

4. Отчет о классификации:

Анализ:

1. Градиентное усиление основных компонентов очень эффективно классифицирует класс 0 с точностью 0,92.

2. Ярлык класса с высокой степенью ошибочной классификации снова является ярлыком класса 2 и ярлыком класса 3 с точностью 0,83 и 0,84.

3. Уровень отзыва класса 0 самый высокий, за ним следует класс 4.

8.LDA-GRADIENT BOOSTING

1. гиперпараметры:{n_estimators,learning_rate,max_depth,criterion}

n_estimators (по умолчанию: 100)à Общее количество деревьев в лесу. С увеличением n_estimators временная сложность резко возрастает, но точность в этом компромиссе также улучшается.

Max_depth (по умолчанию: 3)à Максимальная глубина дерева до достижения последнего конечного узла.

Learning_rate (по умолчанию:)à В алгоритме оптимизации скорость обучения определяет размер шага на каждой итерации при поиске минимума функции потерь (скажем, отклонения)

2. Сценарий использования/выбор дизайна: (количество параметров)

  1. Мы использовали max_depth= ​​{10} с указанными выше параметрами и протестировали на проверочном наборе.

3. Матрица путаницы:

Для {loss=’deviance’,n_estimators=100,learning_rate=0,1, max_depth=10} в наборе проверки:

Точность 71,40%.

4. Отчет о классификации:

Анализ:

1. Gradient Boosting на компонентах LDA классифицирует класс 0 и класс 4 лучше, чем остальные, очень эффективно с точностью 0,84 и 0,82.

2. Сильно неправильно классифицированный ярлык класса снова является ярлыком класса 2.

3. Уровень отзыва класса 0 самый высокий, за ним следует класс 4.

4. LDA работает менее точно, чем PCA, что можно увидеть при сравнении повышения градиента и SVM по точности и скорости отзыва для всех классов.

9.PCA-KNN

1. гиперпараметры:{n_neighbors, веса, p

N_neighbors: (по умолчанию: 5) количество соседей, используемых для запросов.

Веса: (равномерно). В униформе все точки в окрестности имеют одинаковый вес, тогда как в «расстоянии» точки взвешиваются в зависимости от расстояния, обратного их расстоянию.

P: (по умолчанию: 2) это параметр мощности для метрики. P=1 относится к манхэттенскому расстоянию, p=2 относится к евклидову расстоянию,

2. Сценарий использования/выбор дизайна: (количество параметров)

1. Мы использовали k=[2,5,10,15,20,25,35,50,75,100] с указанными выше параметрами и прошли перекрестную проверку.

2. Наилучшая точность была обнаружена при k = 15, вес = «расстояние», p = 2, для которых мы проверили нашу модель на 12000 значений (20% данных обучения).

3. При указанных гиперпараметрах достигнута точность 86,375%.

4. Выбор дизайна для нашей задачи классификации изображений с помощью RF:

PCA с общей объясненной дисперсией 85% (42 компонента).

KNeighborsClassifier(n_neighbors=15,веса='расстояние',p=2).

3. Матрица путаницы:

Для {n_neighbors=15,weights=’distance’,p=2}на проверочном наборе:

Точность 86,375%

4. Отчет о классификации:

Анализ:

1. KNN на компонентах PCA классифицирует класс 0 и класс 4 лучше остальных очень эффективно с точностью 0,95 и 0,92.

2. Сильно неправильно классифицированная метка класса снова является меткой класса 2, а следующая за ней метка класса 3.

3. Уровень отзыва класса 0 самый высокий, за ним следует класс 4.

4. Граница решения KNN является гибкой, нелинейной и очень хорошо отражает классы. Таким образом, для Fashion MNSIT с 5 метками это дает точность спуска для классов.

10.PCA-XGBOOST

1. гиперпараметры:{max_depth,objective,eval_metric,num_class}

max_depth (по умолчанию: 6): максимальная глубина дерева, до которой он может расширить конечный узел и используется для управления переоснащением.

Цель (по умолчанию = reg: linear) Определяет минимизируемую функцию потерь. Multi: softmax используется для получения прогнозируемого класса, а не вероятностей.

Num_class: определяет количество уникальных классов.

Eval_metric (по умолчанию: ошибка): используется для проверки данных. «merror» используется для частоты ошибок классификации по нескольким классам.

2. Сценарий использования/выбор дизайна: (количество параметров)

1. Мы протестировали нашу модель для вышеуказанных гиперпараметров с различной глубиной = [5,6,8,10,20,25] на 12000 значений (20% обучающих данных).

2. Точность 89,34% была достигнута при глубине = 20 при сохранении других параметров такими же, как указано выше.

3. Матрица путаницы:

4. Отчет о классификации:

Анализ:

1. XGBoost очень хорошо классифицирует все классы по сравнению с повышением градиента.

2. Метка класса 0 классифицируется с точностью 0,95, а метка класса 4 — с точностью 0,92.

3. Повышение XG будет производить разделение до тех пор, пока не будет достигнута максимальная глубина, независимо от отрицательного значения убытка. Он сохраняет комбинированный эффект и в конечном итоге классифицирует лучше, чем классическое повышение градиента, что видно из результатов.

Результат приведенных выше сравнений

1. Из приведенного выше анализа видно, что класс 0 наименее ошибочно классифицируется всеми алгоритмами.

2. Метка класса 2 наиболее ошибочно классифицируется всеми алгоритмами.

3. Наивный байесовский алгоритм, как правило, является наихудшим алгоритмом для нашего набора данных, поскольку он представляет собой линейный классификатор и делает сильное предположение о распределении данных о том, что любые два признака независимы для метки класса. Он вычисляет условную вероятность всех классов, считая каждый признак независимым.

4. Лучшим алгоритмом с наименьшим количеством ошибок классификации является SVM, примененный к PCA, который очень хорошо классифицирует наш набор данных. Кроме того, SVM хорошо работает при высокой разреженности, что каким-то образом справедливо для нашего набора данных.

5. XG Boost также дал многообещающие результаты для проблемы классификации, поскольку он обеспечил повышенную точность повышения градиента, учитывая тот факт, что он уменьшает переобучение и продолжает разделение до тех пор, пока не будет достигнута максимальная глубина (независимо от того, отрицательные потери).

Полный отчет → https://www.slideshare.net/secret/Bmmx6pVCnrgdJS

Для нейронных сетей → https://www.slideshare.net/secret/cq8Si5inpLVEnQ

Для полного доступа к блокноту → комментарий