У меня есть приложение PHP/MySQL, в котором хранятся симптомы и соответствующий препарат. Какой алгоритм машинного обучения я должен использовать для прогнозирования препарата для любых симптомов. Кроме того, каков будет формат учебного набора?Какой алгоритм машинного обучения подходит для этого сценария
ответ
В ML нет «лучшего решения» для этого сценария, почти всегда этот метод/данные удовлетворяют мои потребности? Итак, попробуйте с помощью простой методики ML (например, дерева решений), если она не будет работать, попробуйте что-то более сложное. Если он не будет работать, попытайтесь изменить данные, ...
Я думаю, что лучше всего определить сплошную библиотеку, которая хорошо интегрируется в вашу среду.
В общем:
- Хорошие данные помогают почти всегда: то есть предобработки ваших данных для извлечения функции («резюме»), что по вашему мнению, было бы полезно для человека тоже.
- Избегайте бесполезных функций: предпочитайте несколько хороших функций по многим сложным, которые могут немного помочь.
- Помните, что вряд ли будет волшебный черный ящик: вам нужно будет настроить свой алгоритм. Большинство алгоритмов ML имеют несколько так называемых «гиперпараметров», которые влияют на работу алгоритма; например скорость обучения; сглаживания; размер окна и т. д.
- Поскольку это не черный ящик, найдите введение машинного обучения и получите хотя бы базовое представление о том, как и почему эти методы работают. Легко получить полную бессмыслицу из алгоритма ML, поэтому важно иметь хотя бы некоторое представление о том, как эти вещи работают, чтобы вы могли правильно настроить свою проблему.
- Попробуйте что-нибудь действительно простой, как ближайший сосед (вам понадобится метрика расстояния). Этого вполне достаточно.
Хотя я еще не использовал его в последнее время, я считаю, что SVM по-прежнему будет лучшим выбором, если NN недостаточно хорош. Это не хип-новинка, но они обычно довольно хороши без слишком большой настройки. Но почти всегда лучше использовать хорошо настроенный слабый алгоритм (т. Е. Один с документами, которые вы понимаете, и реализация, где вы можете попробовать множество вариантов гиперпарама), чем плохо настроенный сильный алгоритм. Конечно, если вы действительно не знаете, что делаете.
Другими словами: держите его простым и убедитесь, что вы используете много здравого смысла в фазе выбора функций.
Увидев, что у вас, вероятно, будет много неизвестных переменных для этой проблемы, я бы предложил приблизиться к ней, используя байесовские сети.
Это будет просто предположение, основанное на этом кратком описании и предыдущем опыте использования медицинского диагностического программного обеспечения (например, WebMD и других).
Байесовские сети имеют тенденцию иметь более высокую «точность» при работе с множеством неизвестных переменных, чем большинство других алгоритмов ML (например, нейронные сети, как правило, нуждаются в более точных данных для точной регрессии - и, следовательно, делают точную предложения).
Вам нужно будет провести некоторое исследование по предотвращению, сглаживанию и другим проблемам, которые вы можете столкнуться.
Опять же, это не окончательный ответ. Вы не представили никаких подробных данных для меня, чтобы сделать предположение, основанное на чем-то большее, чем предположения. Я бы настоятельно предложил исследовать более глубоко, прежде чем принимать решение.
Можете ли вы указать ссылку на точность байесовских сетей? – kamaci
Я говорю из личных знаний, у меня действительно нет ссылки, кроме ai-class.org (класс Стэнфорда об AI, а также класс Machine Learning на ml-class.org). –
Вам понадобится попробуйте сотни алгоритмов, предварительных обработок и т. Д. Самостоятельно.
Нет общего «лучшего алгоритма» для ничего.
В частности, для данных, не связанных с данными, когда у других нет данных.
Так, попробовать несколько вещей, чтобы увидеть, что работает для вас. Потому что то, что работает для других, не обязательно должно работать для вас, и наоборот.
Кроме того, опыт и знания необходимы, чтобы получить хорошие результаты.
Можем ли мы сказать «нет бесплатного обеда» для таких случаев? – kamaci
хорошо ваши данные будут в конечном итоге выглядит так:
row_id symptom_x symptom_y degree_of_symptom_z ... best_drug
1 false true 0.8 drug_x
2 true null 0.0 drug_q
И вы будете использовать статистический классификатор, чтобы узнать лучший препарат, основанный на симптомах. Затем вы будете кормить его новыми симптомами, и это будет указывать на лучший препарат.
Вероятно, будет много доступных симптомов, поэтому алго должен быть способен обрабатывать множество столбцов.
Я бы начал с поддержки векторной машины, а также попробовал логистическую регрессию.
Проверьте RapidMiner.
Возможно, безопаснее предположить, что нет данных для неизвестных симптомов, чем предположить, что они «ложные» (что означает, что человек не проявляет симптом). В сценарии с таким количеством неизвестных переменных регрессия может быть не оптимальным выбором здесь. –
Логистическая регрессия предназначена для классификации, а не для регрессии, несмотря на название. –
Это проблема классификации: вы указали данные, которые хотите использовать для обучения модели.
Поскольку у вас появятся некоторые ошибки, вы должны решить, минимизируете ли вы свои ложные срабатывания или результаты ложных негативов и балансируете свой алгоритм для достижения этого.
Вы можете использовать простое решение три и посмотреть, как работает производительность, используя набор тестов, как некоторые реальные рецепты врачей.
Обратите внимание, что у вашего рецепта может потребоваться больше одного препарата или нет.
Одна проблема, которую вы должны учитывать, заключается в том, что если вы принимаете какие-то лекарства, вы не можете принимать других, и у пациента могут быть некоторые аллергии. По этой причине я бы посоветовал вам взглянуть на http://en.wikipedia.org/wiki/Association_rule_learning и Prolog.
- 1. Какой алгоритм машинного обучения подходит для съемки баскетбола?
- 2. Каков подходящий алгоритм машинного обучения для этого сценария?
- 3. Какой алгоритм машинного обучения был бы уместным?
- 4. Алгоритмы машинного обучения: какой алгоритм для решения проблемы?
- 5. Алгоритм машинного обучения для прогнозирования порядка событий?
- 6. Какой алгоритм машинного обучения более подходит для прогнозирования следующего назначения корабля на основе предыдущих посещений?
- 7. Какой алгоритм машинного обучения для этой простой оптимизации?
- 8. Подходящий алгоритм машинного обучения для многокондиционных переменных?
- 9. Алгоритм машинного обучения для одноранговых узлов
- 10. Какой алгоритм машинного обучения подходит для прогнозирования одного временного ряда из другого?
- 11. алгоритм машинного обучения для проверки орфографии
- 12. Предложение алгоритма машинного обучения?
- 13. Алгоритм машинного обучения для смешанных категориальных и числовых признаков
- 14. Какой алгоритм машинного обучения предназначен для обучения использованию весов функций в качестве вывода для дерева решений?
- 15. простой машинного обучения программа
- 16. Реализация машинного обучения на android
- 17. Алгоритм классификации машинного обучения с «неизвестным» классом
- 18. Человеко-интерпретируемый контролируемый алгоритм машинного обучения
- 19. Модель машинного обучения экспорта
- 20. Оценка алгоритмов машинного обучения
- 21. Преобразование данных для машинного обучения
- 22. Какой шаблон дизайна подходит для этого сценария C#?
- 23. Какой дизайн лучше всего подходит для этого сценария?
- 24. Какой контроль wpf лучше всего подходит для этого сценария меню?
- 25. Какой инструмент SSO подходит для этого сценария лучше всего?
- 26. Какой шаблон дизайна подходит для этого сценария в приложении MVC?
- 27. Какой алгоритм подходит?
- 28. Требуется стратегия машинного обучения
- 29. Задача машинного обучения: какой инструмент использовать?
- 30. Выбор алгоритма машинного обучения
Вы могли бы поставить лучшие ответы на http://stats.stackexchange.com/ –
Я взял на себя смелость удалить тег MySQL, потому что это не имеет никакого отношения к базам данных. –
Вы спрашиваете о лучшем алгоритме или о том, какое программное обеспечение использовать? –