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

Пользователь

Отправить сообщение
Спасибо. И какие в итоге параметры? В вашем примере кода используется default.
попытка оценить модель равнозначно для всех молекул, не давая заранее ей знания, к какой категории молекула относится.
— в идеале ей не надо это знание. И я, разумеется, и не предлагал давать модели метку категории.
Как раз отсутствие правильного разбиения приводит к тому, что вы будете переоценивать качество модели за счет очень похожих веществ в обучении и тесте.

Представьте, что у вас есть по фотографии 10 кошек и 10 собак по 10000 на каждую кошку/собаку. Вы утверждаете, что случайное разбиение в данном случае соответствует «равному вкладу». Конечно, нет. Случайное разбиение вполне может привести к выбору модели, которая просто переобучится на ваш датасет.

Но как стартовая конфигурация — случайное разбиение имеет место быть

В условиях data leakage вы не можете выбрать правильную модель. Побеждает та модель, что лучше ловит data leakage.
А у XGBoost как подбирались? В вашем коде (которыый вы выложили), есть только train-test разбиение
Смысл простой кросс-валидации состоит больше в подборе параметров, а не в улучшении оценки ошибки.
У бустинга есть набор параметров, типа числа деревьев, их глубины и тд. Вы же использовали дефолтные значения.
Делать кросс-валидацию надо на train, а на тесте смотреть модель, давшую наименьшую ошибку на кросс-валидации.
Потому нет, не было кросс-валидации.
А где они стали стандартом? Сейчас как раз запуустить бустинг из коробки — стандарт. Правда, если авторы не делали кроссвалидации (а по коду — не делали), то логичнее был бы действительно RF, ибо там «просто не трогай параметры и поставь деревье побольше» работает порой лучше и вызывает меньше вопросов
гипотетически, как раз GCN и должна это учиться внутри себя делать пространственное представление молекулы. Точнее — выучивать ту часть, которая связана с растворимостью.
Но насколько она смогла это сделать — большой вопрос, ибо качество от xgboost на фингерпринтах неотличимо (а там еще как тюнили все это у меня вопрос — валидации-то нет). Ну и проблемы разбиения, уже написал.

Чистое GCN работает у авторов очень плохо. Я с утра посмотрел, как будут работать методы «на дурака» — так предсказание XGBoost растворимости по названию молекулы или прямо по SMILES (разбитому на n-граммы) ведет себя лучше (по названию -ошибка 1.2 где-то, для SMILES — 0.7-0.8). И это я не знаю, как тюнили авторы свою модели — валидации-то нет и я могу только с дефолтами запускать, чтоб не жульничать…
То есть кроме 7 и 9 смотреть вообще не надо на модели c GCN.
К школьникам, которые все это делали, претензий нет. Вы — большие молодцы, если освоили все выше написанное за неделю.
Вопрос, естественно, к организаторам и куратору, которые должны были подобные нюансы знать.
К сожалению, вы не поняли сути претензии.

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

Что авторам надо было сделать — это ПРАВИЛЬНО разбить все на тренировочную и тестовую выборку. А просто рандомный сплит не дает никакого представления о том, какая из их моделей хороша.

Ибо модель, выучившая «правильный», переносимый на генеральную совокупность признак, может проигрывать модели, выучившей «kNN». И на любом веществе, аналогов которого не было в выборке, выбранная неправильная модель будет сильно ошибаться.
чтобы единицы измерения были те же, в которых величина. принципиального отличия-то нет, а человеку не в теме объяснить проще
К сожалению, в подобных задачах очень важно правильное разбиение на обучение и тест.
Хотя бы по docs.chemaxon.com/display/docs/bemis-murcko-clustering.md.

Почему:

Вот набрал я вещества из датасета, что использовали авторы, содержащие слово toluene
4-Chlorotoluene -3.08
2-Chlorotoluene -3.52
2,4-Dinitrotoluene -2.82
2-Bromotoluene -2.23
o-Nitrotoluene -2.33
2-Ethyltoluene -3.21
2,4,6-Trinitrotoluene -3.22
2-Isopropyltoluene -3.76
2,6-Dinitrotoluene -3.0
4-Ethyltoluene -3.11
p-Toluenesulfonamide -1.74
4-Bromotoluene -3.19
p-Nitrotoluene -2.49
4-Isopropyltoluene -3.77
Toluene -2.21
m-Nitrotoluene -2.44
И допустим предсказывать я буду всем этим toluene среднее по ним. И считаю RMSE.
Получается 0.57.
А в статье модель дает 0.59 по тесту. То есть конкретно на toluene достаточно выгодно предсказывать таким тупым методом.
Кто-то может заметить, что я валидируюсь на обучении. Окей, делаем, как сказали — 90% в train.
Делаем 10000 случайных прогонов
Получаем среднее качество опять же 0.57 (чуть меньше, но округляем)
А я взял совсем простой способ, очевидно, моргановские фингерпринты видят подструктуры намного лучше.

Следует ли из этого, что их модели точно выучили не то, что нужно? Нет.
Следует ли из этого, что выбрать между моделями, выучившими что-то странное и адекватными, они не могли — да.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность