2013-03-21 5 views
0

Я использую r-пакет случайного леса для прогнозирования расстояний между парами белков на основе их аминокислотной последовательности, основной интерес представляют близкие (имеют меньшее расстояние) белки. мой учебный набор данных состоит из 10k пары белков и фактического расстояния между ними. однако очень мало пар белка (менее 0,2%) имеет небольшие расстояния между ними, и проблема в том, что обученный случайный лес стал очень точным в прогнозировании расстояния между белками с большими расстояниями и очень плохо для белков, которые имеют небольшие расстояния между их. Я попытался опробовать белки с большими расстояниями в моих данных обучения, но результаты все еще не очень хорошие. Меня больше интересуют тесные белки (те пары, которые имеют небольшое расстояние между ними). есть очень четкий сигнал о более облегающие, так как моей точности обучения является 78, и моя точность тестирования 51% любые предложения будут высоко оцененырегрессия со случайным лесом по несбалансированным данным

+0

У вас есть случай несбалансированных данных. 0,2% невелики, поэтому модель (случайный лес) игнорирует их. Если ваш тестовый набор содержит больше данных с небольшими расстояниями, вы должны перенести их на тренировочный набор и использовать кросс-валидацию для точности тестирования. Вероятно, этого будет недостаточно, поэтому повторная выборка небольших выборок расстояния - это следующий шаг (поиск «несбалансированной перезаписи данных») – topchef

ответ

0

пару предложений:

1) Посмотрите на GBM-х из gbm пакет.

2) Создайте дополнительные функции, чтобы помочь RF понять, что пробегает дистанция.

3) Ошибки участка по сравнению с отдельными переменными для поиска того, что ведет к отношениям. (Ggplot2 отлично подходит для этого, особенно с использованием colour и size варианты.)

4) Кроме того, можно назначить 1 или 0, у-переменных, основанных на расстоянии (т.е. если расстояние < х, устанавливается в 1 /, если расстояние> = x; установлено в 0). Когда у вас есть два класса, вы можете использовать аргумент strata в RF для создания равномерно сбалансированных образцов и посмотреть, какие переменные влияют на разницу в расстоянии, используя функции важности() и varImpPlot() RF.

5) Попробуйте использовать журнал связанных с расстоянием переменных. RF обычно довольно хорош в компенсации нелинейности, но не может повредить попытку.

Мое предположение, что # 2 - это место, где вы хотите провести свое время, хотя это также самое сложное и требует наибольшей мысли.