Кто как решал задачу "предсказание CC3"?

15.07.2017, 17:14:24
Раз финальные результаты уже известны, было бы интересно узнать, кто как решал эту задачку - какие модели использовали и как предобрабатывали данные, что делали с некорректными данными.
У меня наилучший результат дала модель xgboost (к сожалению, не помню точно, какие точно настройки использовались в оптимальном варианте) - 0.5338 на финальной выборке (422 место). Более сложные модели показывали худшие результаты. Догадываюсь, что многие также использовали эту модель.
Препроцессинг использовался простой: все данные разбивались на несколько категорий - от 3 до 14, найденные выбросы (данные с некорректными значениями), а также пропущенные данные заменялись на ноль (нулевая категория).
15.07.2017, 17:45:32
Интересно то, что никто из тех, кто был в топ 10 на паблике, в итоге не попал в топ 10 на привате. Что-то совсем уж невообразимое. А по поводу решения: использовал разные модели на разных сабсетах исходного набора данных (т.е. обучение разных классификаторов с подбором параметров и т.д.). Лучшее из решений (если бы я его выбрал) на привате дало бы 27 место. Вообще конечно интересно узнать, что делали ребята из топ 10 (особенно, как была орагнизована локальная валидация и отбор признаков). Но вряд ли люди будут такими секретами делиться) Еще надеюсь, что кто-нибудь из победителей расскажет о своем решении на одной из ближайших тренировок по машинному обучения в яндексе.
15.07.2017, 18:07:27
9 место
15.07.2017, 18:45:28
Все получилось ожидаемо - и то, как тряхнуло оверфиттивших на публичном датасете, и плотность, с которой идут первые пара сотен мест, и отчасти то, что результат оказался гораздо лучше публичного датасета.

Сложность модели жестко ограничена низкой размерностью признаков и с большим запасом перекрывается размером датасета. Как ни крути с фичами, моделями, ансамблями, ничего из этого не вытянешь, поэтому первые 200 мест отличаются в пределах стат. погрешности в 4-м знаке при том что стандартное отклонение между фолдами на 7-fold кроссвалидации (10% от всех данных на фолд) лежит в 3-м знаке и было около 0.005, т.е. при среднем CV=0.538 закрытые 20% могли лежать в очень широких пределах, что и произошло. По большому счету, для хорошего результата хватило бы правильно настроить XGBoost или LightGBM и на этом успокоиться. Ни нейросети, ни другие модели не сработали в ансамбле никак. Баггинг, аугментация, ансамбли базовых моделей с разными настройками помогли слабо, что было немного неожиданно, но объяснимо.
15.07.2017, 19:03:03
А где можно ознакомиться с полученными вероятностным рядами из 30000 значений, разумеется, с колонкой исходов хотя бы первой десятки победителей? Вроде организаторы хакатона обещали предоставить такую возможность.
Отредактировано 15.07.2017, 19:05:51
15.07.2017, 19:13:56
Борис Кауров
А где можно ознакомиться с полученными вероятностным рядами из 30000 значений, разумеется, с колонкой исходов хотя бы первой десятки победителей? Вроде организаторы хакатона обещали предоставить такую возможность.
Выше Иван оставил ссылку на репозиторий. Там в том числе и итоговый файл с вероятностями.
15.07.2017, 19:46:37
Artem Zraev
Борис Кауров
А где можно ознакомиться с полученными вероятностным рядами из 30000 значений, разумеется, с колонкой исходов хотя бы первой десятки победителей? Вроде организаторы хакатона обещали предоставить такую возможность.
Выше Иван оставил ссылку на репозиторий. Там в том числе и итоговый файл с вероятностями.

При нажатии на "9 место" в посте Ивана вхожу на страницу с описанием его работы с двумя пакетами машинного обучения и не вижу ссылку на репозиторий. Вы можете подсказать, в каком месте этой или другой страницы указана ссылка на репозиторий с вероятностными рядами победителей?
Отредактировано 15.07.2017, 19:51:24
15.07.2017, 20:12:27
Борис Кауров
Artem Zraev
Борис Кауров
А где можно ознакомиться с полученными вероятностным рядами из 30000 значений, разумеется, с колонкой исходов хотя бы первой десятки победителей? Вроде организаторы хакатона обещали предоставить такую возможность.
Выше Иван оставил ссылку на репозиторий. Там в том числе и итоговый файл с вероятностями.

При нажатии на "9 место" в посте Ивана вхожу на страницу с описанием его работы с двумя пакетами машинного обучения и не вижу ссылку на репозиторий. Вы можете подсказать, в каком месте этой или другой страницы указана ссылка на репозиторий с вероятностными рядами победителей?
Это ссылка и есть на git репозиторий Ивана, со скриптами и т.д. Конкретный файл вот здесь https://github.com/tyamgin/mlbootcamp/tree/master/championship12/res (res.txt). Про других победителей ничего не могу сказать. Захотят выложить на публику свои решения или нет - это уже их право)
15.07.2017, 22:15:10
Всем привет!

Локально лучшее и довольно простое решение я получил усреднением двух XGB моделей с очисткой и преобразованием признаков. Данное решение доступно по https://github.com/shayakhmetov/mlbootcampV, которое соответсвтует финальному 0.5305696 (что было бы тоже вторым местом). Решение на лидерборде было получено путём усреднения с весами различных XGB моделей с разными видами чистки и дополнительными признаками, однако это не сказалось на финальном месте.
15.07.2017, 22:28:27
Рим, поздравляю с прекрасным результатом! И спасибо за код, очень познавательное и элегантное решение. Вы выбирали способы дискретизации признаков исходя из CV, или из своего опыта? Мне, например, это в голову не пришло, ведь XGB и нейронные сети вполне хорошо работают с непрерывными данными. Возраст только дискретизировал, потому что там есть цикличность с периодом ровно 2 года.


Зарегистрируйтесь или войдите, чтобы оставить сообщение.