Простые приемы для ускорения к вершине таблицы лидеров хакатона

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

Если вы не читали мою предыдущую статью «Как добиться успеха на своем первом хакатоне», я настоятельно рекомендую прочитать ее, прежде чем переходить к этому.



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

Прежде чем мы начнем, немного философии!

Проблемы неизбежны. Многие из них мы встретим в своей жизни. Важно то, как мы на них реагируем. Что мы решаем с ними делать. И, как я часто цитирую, то, что сейчас кажется невозможным, постепенно станет возможным и, в конце концов, будет происходить без усилий.

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

Simple Hack 1: Qualification

Если мы углубимся, чтобы понять столбец «квалификация», мы увидим, что есть одна конкретная запись, которая является аномалией / выбросом в наборе данных. Запись гласит: «Вдохновляйтесь замечательными историями таких же людей, как вы».

Интересно, правда? Все они работают дерматологами и по умолчанию взимают плату в размере 100 рупий.

Итак, что мы сделаем, так это воспользуемся этим, чтобы немного изменить наш прогноз. Мы посмотрим на «Квалификации» в тестовых данных и перепишем «плату», чтобы для них было 100, независимо от того, каково было прогнозируемое значение для этих записей.

Simple Hack 2: Miscellaneous_Info

Пройдя по столбцу «Разное_инфо», мы увидим, что есть много записей, в которых комиссия уже упоминается в разделе «Разная информация». Давайте проверим, фактическая ли это сумма или какое-то случайное число.

Мы видим, что сумма (в рупиях), указанная в «Miscellaneous_Info», является истинным представлением фактической суммы комиссии. Следовательно, мы можем использовать эту информацию, чтобы перезаписать прогнозируемую сумму, жестко закодировав их плату так, чтобы она была числом, указанным в «Miscellaneous_Info», если таковая имеется.

Осторожно!

Перед выполнением этого шага мы должны быть осторожны с одной вещью. Из этого правила есть небольшое исключение. Для большинства заявок сумма комиссии, указанная в столбце «Miscellaneous_Info», является истинным представлением фактических сборов. Однако, если в разделе «Miscellaneous_Info» комиссия составляет ›999, реальное значение будет равно 100 (комиссия по умолчанию). Опять же, мы можем подтвердить это, посмотрев на данные.

Итак, давайте напишем для этого кусок кода. В Python для получения символа можно использовать следующую строку кода.

После этого просто следуйте инструкциям, описанным выше.

Пошаговое выполнение

Шаг 1. Запустите вашу модель машинного обучения (объяснено в Уроке -1)

Шаг 2: Для квалификации = Вдохновляйтесь замечательными… .; Комиссия = 100

Шаг 3. Замените прогнозируемые сборы из данных Misc_Info; если имеется.

Шаг 4. Если комиссия «Misc_Info»> 999, то фактическая комиссия = 100.

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

В заключение я хотел бы процитировать Рональда Коуза:

Если вы будете мучить данные достаточно долго, они признаются