Mam kilka profili klientów przechowywanych w wyszukiwanie elastycznegrupa. Profile te są teraz używane do tworzenia grup docelowych dla naszych subskrypcji e-mail.
Grupy docelowe są teraz tworzone ręcznie przy użyciu elastycznych funkcji wyszukiwania fasetowego (np. Zbierz wszystkich mężczyzn w wieku 23 lat z jednym samochodem i 3 dziećmi).
Jak mogę szukać interesujących grup automatycznie - za pomocą nauki danych, uczenie maszynowe, klastry, czy coś innego?
rjęzyk programowania wydaje się być dobrym narzędziem do tego zadania, ale nie mogę sformułować metodologii takiego wyszukiwania grupowego. Jednym z rozwiązań jest znalezienie największych klastrów klientów i wykorzystanie ich jako grup docelowych, więc pytanie brzmi:
Jak mogę automatycznie wybierać największe klastry podobnych klientów (podobne według parametrów, których w tej chwili nie znam)?
Na przykład: mój program połączy się z elasticsearch, wyładuje dane klientów do CSV, a użycie skryptu w języku R pozwoli stwierdzić, że duża część klientów to mężczyźni bez dzieci, a kolejna duża część klientów ma samochód, a ich kolor oczu jest brązowy.
źródło
Odpowiedzi:
Jednym z algorytmów, który można do tego wykorzystać, jest algorytm klastrowania k-średnich .
Gruntownie:
„Do konwergencji”:
Dobrą praktyką jest kilkakrotne powtórzenie tego algorytmu, a następnie wybranie wyniku minimalizującego odległości między punktami każdego skupienia i a środkiem m_i.
Oczywiście musisz znać k, aby zacząć tutaj; możesz jednak użyć weryfikacji krzyżowej, aby wybrać ten parametr.
źródło