Mam taki zestaw danych
+--------+------+-------------------+
| income | year | use |
+--------+------+-------------------+
| 46328 | 1989 | COMMERCIAL EXEMPT |
| 75469 | 1998 | CONDOMINIUM |
| 49250 | 1950 | SINGLE FAMILY |
| 82354 | 2001 | SINGLE FAMILY |
| 88281 | 1985 | SHOP & HOUSE |
+--------+------+-------------------+
Osadzam go w przestrzeni wektorowej formatu LIBSVM
+1 1:46328 2:1989 3:1
-1 1:75469 2:1998 4:1
+1 1:49250 2:1950 5:1
-1 1:82354 2:2001 5:1
+1 1:88281 2:1985 6:1
Wskaźniki funkcji:
- 1 to „dochód”
- 2 to „rok”
- 3 to „use / COMMERCIAL EXEMPT”
- 4 to „use / CONDOMINIUM”
- 5 to „use / SINGLE FAMILY”
- 6 to „use / SHOP & HOUSE”
Czy można trenować maszynę wektorów nośnych (SVM) z mieszanką danych ciągłych (rok, dochód) i kategorycznych (wykorzystanie) takich jak ten?
categorical-data
svm
mixed-type-data
Seamus Abshere
źródło
źródło
Odpowiedzi:
Tak! Ale może nie tak, jak myślisz. W swoich badaniach często tworzę cechy jakościowe z ciągle cenionych za pomocą algorytmu takiego jak partycjonowanie rekurencyjne . Zazwyczaj używam tego podejścia z implementacją SVMLight maszyn wektorów wsparcia, ale użyłem go również z LibSVM. Musisz upewnić się, że przypisujesz podzielone cechy jakościowe do określonego miejsca w wektorze funkcji podczas treningu i klasyfikacji, w przeciwnym razie twój model skończy się chaotycznie.
Edycja: to znaczy, kiedy to zrobiłem, przypisuję pierwsze n elementów wektora do wartości binarnych związanych z wyjściem partycjonowania rekurencyjnego. W binarnym modelowaniu obiektów po prostu masz gigantyczny wektor zer i jedynek, więc wszystko wygląda tak samo dla modelu, chyba że wyraźnie wskażesz, gdzie są różne funkcje. Jest to prawdopodobnie zbyt specyficzne, ponieważ wyobrażam sobie, że większość implementacji SVM zrobi to samodzielnie, ale jeśli lubisz programować, może być coś do przemyślenia!
źródło