Как стать автором
Обновить

Комментарии 4

Спасибо за интересную статью! Для новичка, вы очень хорошо разбираетесь в теме.
По статье осталось несколько вопросов:

  1. Почему использовался именно ExtraTreeRegressor, а не классические и более устойчивые RandomForest, или XGBoost? Правильно ли я понял, что нелинейными моделями корректировались только сильно-зашумленные, а не все данные?
  2. Пробовали ли использовать разные линейные модели для разных типов дисперсий в исходных данных? (например, Elactic для хороших, TheilSen — для средних и RANSAC для сильно-зашумленных)?
  3. Как вы, в итоге, получали финальную оценку из ответов всех моделей?
  4. Как добавлялись веса в обычной линейной регрессии?


Ну и код, и/или схему финального ансамбля было бы очень приятно увидеть глазу, для ясности картины :)
  1. Пробовал все. RandomForestRegressor сильно переобучался на столь маленьком количестве данных. Сначала использовал 500 деревьев, но потом, опытным путем определил что 80 давали лучший результат. Тем не менее они проигрывали ExtraTreeRegressor по данным кросс-валидации. К предсказаниям по зашумленным данным прибавлялась модель деревьев, для остальных среднее из 3х линейных моделей и полинома;
  2. Пробовал все линейные модели которые были в библиотеке scikit-learn, в разных сочетаниях и комбинациях; Тут особо нет смысла разделять если используем линейную модель. Если например TheilSen и RANSAC будут хороши для зашумленных данных, то для линейных они точно будут хорошими. Поэтому обращал внимание только на вторую группу(зашумленные данные);
  3. Для первой группы среднее от 4 моделй, для второй, тоже среднее, но с одним условием, если ExtraTreeRegressor предсказывал меньшее время чем среднее этих 4х моделей, то бралось среднее 5 моделей(где 5я это ExtraTreeRegressor), если больше, то так и оставалось среднее 4х моделей(я об этом выше писал).
  4. Не совсем понятен вопрос. Третьим параметром в LinearRegression можно передать вес. Вес считался по формуле 1/pow(Y,3.1);

По поводу кода, хорошо, немного позже выложу сюда код.
А для тупых можно по-конкретнее про саму задачу? Какая формулировка?
Даны данные, в которых записи представляют собой характеристики вычислительной системы и размеры двух перемножаемых матриц. Нужно предсказать время этого перемножения.
В данной задаче предсказывались те же вычислительные системы, что были в обучающей выборке. В статье к контесту же предсказывались и на неизвестных (что по мне сложнее и интереснее).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации