Radzenie sobie ze zbiorami danych o zmiennej liczbie funkcji

14

Jakie są metody klasyfikacji danych o zmiennej liczbie funkcji?

Jako przykład rozważmy problem, w którym każdy punkt danych jest wektorem punktów xiy, a my nie mamy takiej samej liczby punktów dla każdej instancji. Czy możemy traktować każdą parę punktów xiy jako cechę? A może powinniśmy w jakiś sposób podsumować punkty, aby każdy punkt danych miał określoną liczbę funkcji?

jergason
źródło
7
Czy obecność lub brak określonego punktu pomaga w klasyfikacji danych?
jonsca

Odpowiedzi:

5

Możesz traktować te punkty jako brakujące --- tj. załóżmy, że wektor ma co najwyżej 20 (x, y) par, a konkretny punkt ma 5 (x, y) par, w tym przypadku traktuj pozostałe pary jako brakujące, a następnie zastosuj standardowe procedury dla brakujących parametrów:

Te standardowe procedury mogą być:

  • Użyj modelu, który w naturalny sposób obsługuje brakujące parametry, na przykład modele drzew decyzyjnych powinny sobie z tym poradzić.
  • Zastąp brakujący wartością średnią dla odpowiedniej kolumny.
  • Użyj prostego modelu, aby „przewidzieć” brakujące wartości.

Ale ponieważ @jonsca wskazuje --- jeśli obecność nieobecności danego punktu pomaga w klasyfikacji danych, powinieneś na przykład zbudować kilka modeli, każdy z nich modeluje instancje z określoną liczbą punktów.

jb.
źródło
10

Z tego, jak rozumiem twoje pytanie, punkty w danych są wymienne i nie pochodzą z żadnym porządkiem, tj. Masz zestaw punktów dla każdego przykładu. To ustawienie różni się od ustawienia „Brakująca wartość” tego jb. opisane.

Wiem o dwóch powszechnie stosowanych metodach tego problemu, które w rzeczywistości opierają się na twoich pomysłach. Dobrym punktem odniesienia byłoby prawdopodobnie uśrednienie wszystkich punktów w jednym przykładzie, ale to zwykle nie działa dobrze.

  • Aby agregować wiele punktów do pojedynczego elementu, worek słów (lub worek elementów) jest dość często używany, na przykład w wizji komputerowej. Chodzi o to, aby skupić wszystkie punkty w zestawie treningowym (używając na przykład k-średnich), a następnie opisać każdy punkt za pomocą jego skupienia. Dla każdego przykładu otrzymujesz histogram, według którego częstotliwości występują klastry.

  • Aby użyć wszystkich par punktów, możesz skorzystać z ustawionych jąder. Może to najlepiej działać przy użyciu SVM, ale prawdopodobnie będzie również działało z dowolnym algorytmem uczenia się, który może być jądro lub użyć funkcji kompatybilności między wejściami. Jądra zestawów są w zasadzie sposobem na obliczenie podobieństwa dwóch zestawów funkcji, tak jak w twoim ustawieniu.

Andreas Mueller
źródło