hej, mam zaćmienie umysłu. mam do napisania program, który korzystając z klasyfikatora Bayesa ma za zadanie zaklasyfikować przypadki ze zbioru testowego opierając się na zbiorze treningowym. Atrybuty w zbiorze treningowym są nominalne (kategoryczne).
wymyśliłem klasę Data z polem List<String> attributes. sczytuję dane z pliku csv.
Data{attributes=[slonecznie, tak, niska, srednia, tak]}
Data{attributes=[snieg, tak, wysoka, niska, nie]}
Data{attributes=[slonecznie, tak, srednia, niska, tak]}
Data{attributes=[deszcz, nie, srednia, srednia, nie]}
Data{attributes=[snieg, tak, wysoka, srednia, nie]}
Data{attributes=[zachmurzenie, tak, wysoka, srednia, tak]}
Data{attributes=[zachmurzenie, tak, wysoka, srednia, tak]}
itd.
stanąłem nad tym jak zebrać poszczególne atrybuty i je zliczyć. myślałem o setach, aby przelecieć po analogicznych indeksach w listach, zebrać to do setów i tak będę miał zbiory poszczególnych atrybutów warunkowych i decyzyjnych. czy to jest dobry trop? może ktoś ma lepszy pomył. tu aż proszą się mapy, aby jako klucz użyć Stringa a wartość Integer (ilość wystąpienia danego atrybuty, np. slonecznie).
proszę o jakieś protipy.