Улучшение модели прогнозирования привязки TF – застряло на уровне ROC-AUC 0,76.Python

Программы на Python
Ответить
Anonymous
 Улучшение модели прогнозирования привязки TF – застряло на уровне ROC-AUC 0,76.

Сообщение Anonymous »

Я работаю над моделью машинного обучения, чтобы предсказать связывание фактора транскрипции REST с кандидатами на участки связывания ДНК для моего последнего проекта курса биоинформатики. Я собрал многофункциональный набор данных и обучил несколько моделей, но мой ROC-AUC постоянно ограничивается диапазоном 0,75–0,76 (PR-AUC ~0,73). Я был бы признателен за идеи по улучшению производительности модели, в идеале до 0,8 или выше.
Я выполняю бинарную классификацию:
  • положительный класс: подтвержденные сайты связывания REST
  • отрицательный класс: необязательные последовательности (совпадающие по длине и содержанию GC).
Каждая последовательность представлена числовыми признаками (без ввода необработанной последовательности).
Возможности на данный момент:
  • 64 3-мерных частоты (фиксирует тринуклеотидные паттерны)
  • 5 ячеек содержания GC вдоль последовательности (позиционный GC)
  • Несовпадение GC/AT
  • Соотношение пуринов/пиримидинов
  • Соотношение наблюдаемого/ожидаемого CpG
  • Ранее я также проверял частоты моно/динуклеотидов без каких-либо результатов
Модели и результаты:



Модель
ROC-AUC
PR-AUC
F1
Примечания




HistGradientBoosting
0,7608
0,7298
0,7103
лучший результат, минимальная переобучение


Случайный лес
0,7584
0,7220
0,7092
немного больше переобучения


SVM (RBF)
0,7547
0,7129
0,7118
стабильно, медленнее



Обучающий набор: 24 000 образцов × 70 функций

Проверочный набор: 5 000 образцов

Реализация: scikit-learn (с RandomizedSearchCV и изотонической калибровкой)
Вопрос
Мне хотелось бы получить совет о следующих шагах по повышению производительности, в идеале ROC-AUC > 0,8 (или 0,9).
Какие виды улучшений наиболее эффективны для такого типа проблем с биологической последовательностью?
  • Существуют ли дополнительные свойства, полученные из последовательностей, или структурные функции, которые часто помогают при связывании TF?
  • Должен ли я попробовать глубокое обучение (CNN/гибриды CNN-RNN) на необработанной последовательности вместо инженерных функций?
  • Любые подходы ансамблевого или метаобучения (например, суммирование, голосование), которые имеют тенденцию помочь здесь?
  • Вы ожидаете, что ROC-AUC >0,8 будет реалистичным для REST с чисто числовыми функциями, или это типичный потолок?
Спасибо за любую информацию, ссылки или примеры, которыми вы можете поделиться!

Подробнее здесь: https://stackoverflow.com/questions/798 ... c-auc-0-76
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»