Определение населения и его представительства
Кандидатами (совокупность ГА) являются различные подмножества атрибутов. Каждое подмножество может быть хорошим набором признаков, связанных с болезнью сердца, или нет.
Итак, насколько я понимаю, у вас есть данные с различными показателями для атрибутов и показателя того, у какого человека измеряется сердечная болезнь или нет.
Вы можете легко представить подмножество атрибутов, используя бит для каждого атрибута. Таким образом, 10000000000000 будет подмножеством только с первым атрибутом. 11000 ... только два первых ... и т. Д.
Найти фитнес-функцию
Как определить, является ли кандидат (подмножество признаков) хорошим или плохим показателем для сердечной болезни. Я бы сказал, что это хорошо, если это напрямую связано с болезнью. Таким образом, у всех пациентов с высокими показателями по этим показателям они имеют заболевание, а у всех пациентов с низким числом - заболевание не имеет.
TODO: find a correlation measure... :) (I'll edit the answer)
Подмножество с большим количеством показателей, чем необходимо, является плохим. Таким образом, вы должны забить хуже, если атрибут из подмножества НЕ коррелирован.
TODO: find a way to introduce this.
Два направления
Кроме того, я буду учитывать два направления. Например, атрибут может быть связан с сердечной болезнью, если он имеет низкое число. Поэтому я буду использовать 26 бит. Два бита для каждого индикатора. Один использует значение атрибута, а другой - отрицательный.
Поиск фитнес-меры
С помощью статистических данных вы можете определить, подходит ли произвольный набор атрибутов для выявления сердечных заболеваний или нет.
Каждый пациент будет первым, вторым и т. Д. В соответствии с каждым атрибутом. К примеру кровяное давление. Первый с меньшим давлением будет первым, последний с большим давлением будет последним.
Таким образом, если артериальное давление тесно связано, у людей с высокими значениями будет болезнь, а у людей с низким давлением -
Таким образом, хороший показатель для набора атрибутов - это сколько правильных диагнозов вы могли бы сделать на основе имеющихся у вас данных. Если у вас есть признаки A и B, их оценка как хорошие показатели будет увеличиваться с числом пациентов с высоким числом и сердечным заболеванием (связанных), и будет уменьшаться с числом пациентов с низким числом и сердечным заболеванием (не связанным или противоречивым).
Только для атрибута
Я могу заказать пациентов на основе этого атрибута. Тогда я вижу, у кого из них болезнь. Если те, у кого более высокие цифры (справа от упорядочения), имеют заболевание, то оно связано. В противном случае нет.
Если я получу:
ND ND ND ND ND D D D D D D
ND = no disease
D = disease
Это очень, очень связано.
Таким образом, для меня будет установлено, насколько упорядочено значение ND / D после упорядочения пациентов по их значению по этому атрибуту.
Для набора атрибутов
Конечно, вы должны дать оценку за набор атрибутов (скажем, первые три атрибута списка). Поэтому я должен сначала заказать пациентов по каждому из них:
Ordered by -> Attr1, Attr2, Attr3
Patient1 1st 3rd 10th
Patient2 2nd 11th 2nd
Patient3 6th 1st 3rd
А затем суммируйте позиции для каждого пациента:
Ordered by -> Attr1, Attr2, Attr3
Patient1 1st 3rd 10th -> 1+3+10 = 14
Patient2 2nd 11th 2nd -> 2 + 11 + 2 = 15
Patient3 6th 1st 3rd -> 6+1+3 = 10
А затем упорядочить пациентов на эту сумму.
P3, P1, P2
Тогда, если их статус болезни высоко упорядочен (те, у кого заболевание справа), оценка будет высокой.
Например:
ND ND D -> only patient 2 has disease, highly correlated
D D ND -> patients 3 and 1 has disease, doesn't seem correlated (in fact, it seems contradictory)
Итак, последняя часть определения метода оценки - это найти способ сказать, упорядочена ли последовательность битов:
ND ND ND ND D D D D D D -> high score
D ND D ND D ND D ND D ND -> low score
Надеюсь, это поможет! :)