Mam dane, które mają pewne dyskretne pola lubujmuj to w inny sposób, wyliczając wartości. Na przykład w moich danych mam pole takie jak "deviceType", które może przyjmować wartości takie jak "Handheld" i "Desktop". Inne atrybuty łańcucha mogą być adresami URL. Jednak z natury nie mają pojęcia odległości i dlatego nie można ich "wektoryzować". Ponadto niektóre z nich są niezwykle ważne i znaczące. Jak mogę włączyć je do procedury klastrowania?
Jednym z rozwiązań, o których myślałem, było podzielenie ich na nowe pola (wymiary) boolowskie. Czy istnieje sposób na przedstawienie tego w Mahout?
Jakie mam inne opcje?
Odpowiedzi:
0 dla odpowiedzi № 1Inną opcją może być posiadanie własnego programu generującego rzadkie wektory, które można podać jako dane wejściowe do mahouta do grupowania. np. wejście:
www.domain1.com/page1
www.domain1.com/page2
www.domain2.com/page1
możemy podzielić powyższe adresy URL na host, ścieżkę, parametry takie jak to
www.domain1.com page1
www.domain1.com page2
www.domain2.com page1
możemy mieć słownik z ciągiem, parą klucz-wartość całkowitą, jak poniżej
(www.domain1.com, 1)
(page1, 2)
(page2, 3)
(www.domain2.com, 4)
i rzadkie wektory, jak poniżej
{1:1.0, 2:1.0}
{1:1.0, 3:1.0}
{4:1.0, 2:1.0}
Powyższe może być podane jako dane wejściowe do mahout do grupowania.