Автор — Джен Ненг Нг

Эта история является продолжением серии:

Часть 1: Фоновое исследование

Часть 2: Анализ данных

Часть 3: Реализация

Часть 4: Реализация (продолжение)

Часть 4: Реализация (продолжение)

Эксперимент 7: без SMOTE

В этом эксперименте просто нужно прокомментировать эти несколько строк кода:

Эксперимент 8: удаление выбросов

Код удаления выбросов уже продемонстрирован в части предварительной обработки.

Эксперимент 9: Трансформация PCA

Мы будем использовать пакет psych, который выполнял анализ PCA в предыдущем разделе.

Эксперимент 10: выбор признаков (рекурсивное исключение признаков)

Рекурсивное удаление функций (RFE) — это метод выбора функций для рекурсивного удаления слабых функций до тех пор, пока не будет достигнуто определенное количество функций с использованием метода перекрестной проверки. В пакете Caret он предоставляет функцию RFE для реализации стратегии обратного выбора и, соответственно, определения наилучшего оптимального размера функций.

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

Основываясь на оптимальном списке функций, полученном от RFE, он отфильтровал список функций, нам просто нужно применить модель случайного леса Эксперимента 4.

Заключение и резюме (Эксперименты 7~10)

Эксперимент 7:

Он увеличивается почти на 7%, когда не используется метод повышения частоты дискретизации SmoteClassIf. Это соответствует тому, что мы ожидали ранее от связанного анализа работы. Это можно объяснить только тем, что данные повышающей выборки или интерполяции ненадежны, сгенерированные данные не отражают четко отношения дисперсии с зависимой переменной, особенно с наименьшим классом данных (damage_grade class 1).

Эксперимент 8:

Удаление выброса возраста, также приводящего к классу 1, дает неверный прогноз, как в предыдущем эксперименте, это может быть связано с тем, что крайняя точка возраста имеет высокую корреляцию с наблюдением класса 1.

Эксперимент 9:

PCA объединяет height_percentage и count_floors_pre_eq в один компонент, этот компонент уменьшил размерность или число переменных набора данных и также не влияет на оценку. Таким образом, это может помочь сократить время обработки при обучении модели.

Эксперимент 10:

Точность аналогична модели случайного леса Эксперимента 4 (0,677). Однако время обработки сократилось с 2005 секунд до 498 секунд. Методы выбора признаков помогли модели уменьшить размерность набора данных и исключить ненужные признаки. Это может повысить производительность модели, которая требует длительного времени обучения, такого как случайный лес.

Заключение

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

Мы могли представить решение без апсемплинга/ресемплинга и использовать XGBoost для достижения высокой точности в этом соревновании. Используя модель Experiment 7, я могу достичь точности 0,730 в Drivendata (текущий ранг Top 1 - точность 0,755). Несмотря на то, что существует огромное переобучение (точность проверки составляет 0,92+).

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

Ссылка

[1] Дас, А. ИИ для моделирования повреждений от землетрясений (2019), https://towardsdatascience.com/ai-for-earthquake-damage-modelling-7cefae22e7e1

[2] Дас, А. Землетрясение-моделирование повреждений (2019), https://github.com/arpan65/Earthquake-Damage-Modelling

[3] Мендес, Г. Машинное обучение (2019), https://github.com/gm-gwu/machine-learning

[4] Гимире, Б. Землетрясение в Непале (2019 г.), https://github.com/bishwasg/nepal-earthquake

[5] Елисеев, Предсказатель А. Рихтера: моделирование ущерба от землетрясений (2019), https://www.kaggle.com/alekseyeliseev/richter-s-predictor

[6] Горкар, Предсказатель А. Рихтера: моделирование ущерба от землетрясений (2019), https://www.kaggle.com/ajaygorkar/rihcter-s-prediction-modeling-earthquake-damage

[7] Лукьяненко А. Землетрясения ФЭ. Дополнительные функции и образцы. (2019), https://www.kaggle.com/artgor/earthquakes-fe-more-features-and-samples

[8] Нараян, Дж. Модель ущерба от землетрясения в Непале (2019 г.), https://www.kaggle.com/jaylaksh94/model-for-nepal-earthquake-damage