Система прогнозирования работоспособности с использованием интеллектуального анализа данных в j2ee

#jakarta-ee #expert-system

#джакарта-ee #экспертная система

Вопрос:

Я хочу разработать систему прогнозирования работоспособности с использованием интеллектуального анализа данных. Может кто-нибудь дать мне несколько советов о том, как ее разработать?

Требование состоит в том, что когда пользователь вводит первые симптомы, система проверяет, у скольких заболеваний есть те же симптомы, после чего система предоставит несколько вариантов, связанных с симптомами, чтобы она могла различать эти заболевания и определять, что это за заболевание.

Добавленный компонент здесь (и именно здесь входят части интеллектуального анализа данных и прогнозирования) заключается в том, что, когда пользователь вводит симптом, он также должен предлагать другие симптомы, которые они также могут испытывать. Например, если у них высокая температура, существует высокая вероятность того, что у них также есть озноб, поэтому, когда они вводят «лихорадку», это должно указывать на «озноб» в качестве дополнительного симптома.

введите описание изображения здесь

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

1. Я в замешательстве; каков ваш актуальный вопрос? Что вы подразумеваете под «некоторыми советами»? Не могли бы вы уточнить, в чем вам нужна помощь?

2. Я не говорю, что мне нужен весь код, но я не знаю, как его разработать, мне нужно какое-то представление о том, как двигаться вперед. С чего мне начать.

3. Неясно, что вы сделали до сих пор. У вас есть дизайн? Вы собрали свои требования?

4. Вы в основном пытаетесь разработать экспертную систему или механизм правил? en.wikipedia.org/wiki/Expert_system

5. Я хочу разработать экспертную систему

Ответ №1:

Вот один из возможных вариантов проектирования базы данных:

введите описание изображения здесь

Вот пример того, как будут выглядеть данные: введите описание изображения здесьИтак, по сути, это говорит о том, что симптомами гриппа являются лихорадка, озноб и усталость, но симптомами простуды является просто «усталость». (Очевидно, что это не все, что полное, но это хорошо для иллюстрации).

Один человек искал заболевание, симптомами которого были «лихорадка» и «озноб». Второй человек искал заболевание, симптомами которого были просто «озноб». Третий человек искал заболевание, симптомами которого были «лихорадка» и «усталость».

Поиск будет выполняться с помощью хранимой процедуры: вы вводите один или несколько симптомов, и он вставляет запись о поиске в таблицу SearchHistory и извлекает список связанных с ними заболеваний.

Если вы хотите рассчитать вероятность одновременного появления двух симптомов, вы можете использовать определяемую пользователем функцию, которая вычисляет процент поисковых запросов, содержащих оба симптома. Например, если при поиске 1, 2 и 3 в качестве симптомов указаны «лихорадка» и «озноб», но при поиске 4 — «лихорадка» и «усталость», а при поиске 5 — просто «озноб», очевидно, что вероятность того, что кто-то, кто ищет «лихорадку», также будет 60%.ищите «озноб».

Также существует 20%-ная вероятность того, что кто-то, кто ищет «лихорадку», также будет искать «усталость», но в этом случае выборка, очевидно, слишком мала, чтобы точно знать, действительно ли она репрезентативна. (Это один из недостатков этой конструкции — со временем ваши прогнозы будут улучшаться, но ранние прогнозы могут быть не слишком точными).

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

Недостатком, конечно, является то, что у вас будут данные о вероятных сопутствующих симптомах только после того, как люди начнут использовать систему, поэтому ранние пользователи не получат преимущества от наличия прогнозов, и потребуется некоторое время, прежде чем можно будет точно предсказать, какие симптомы могут возникнуть. «действуйте вместе «. (Подумайте о приведенном выше случае, когда вы прогнозировали 20%-ную вероятность одновременного появления «лихорадки» и «усталости» на основе только одного поиска).

Надеюсь, это поможет некоторым.

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

1. Извините, но я не понимаю, как ее разработать

2. @Hetaram Не могли бы вы более конкретно рассказать о том, что вас смущает?

3. Для меня это совершенно новая концепция. Я не знаю, как это реализовать. Вы предоставили некоторые данные, в которых вы создали две таблицы, одну для симптомов, а другую для болезни, но у меня есть только одна таблица, а атрибутами являются идентификатор, имя, симптомы, тип. Итак, как я могу реализовать это, используя эту концепцию

4. @Hetaram Вы определенно хотите разделить таблицы симптомов и заболеваний; в противном случае вы получите много избыточных данных. Кроме того, у каждого заболевания может быть произвольное количество симптомов.

5. Хорошо, я сделал это, но теперь, как получить симптомы после ввода пользователем одного симптома, чтобы предсказать заболевание