Nauczyłem się, że aby stworzyć model regresji, musimy zadbać o zmienne jakościowe, przekształcając je w zmienne obojętne. Na przykład, jeśli w naszym zestawie danych znajduje się zmienna taka jak lokalizacja:
Location
----------
Californian
NY
Florida
Musimy przekonwertować je w następujący sposób:
1 0 0
0 1 0
0 0 1
Zasugerowano jednak, że musimy odrzucić jedną zmienną fikcyjną, bez względu na to, ile jest tam zmiennych fikcyjnych.
Dlaczego musimy odrzucić jedną zmienną fikcyjną?
machine-learning
regression
categorical-data
Mithun Sarker Shuvro
źródło
źródło
Odpowiedzi:
Po prostu, ponieważ jeden poziom twojej jakościowej funkcji (tutaj lokalizacja) staje się grupą odniesienia podczas fałszywego kodowania regresji i jest zbędny. Cytuję tutaj formę „Zmienna kategorialna kategorii K lub poziomów zwykle wchodzi w regresję jako sekwencja zmiennych fikcyjnych K-1. Jest to hipoteza liniowa na średnich poziomów”.
Jest to już omówione w tej bardzo ładnej odpowiedzi na statystyki.stackexchange .
Powiedziano mi, że jest zaawansowany kurs Yandex w Coursera, który obejmuje ten temat bardziej szczegółowo, jeśli nadal masz wątpliwości, zobacz tutaj . Pamiętaj, że zawsze możesz przeprowadzić audyt zawartości kursu za darmo. ;-)
Kolejny fajny post, jeśli chcesz dokładnego wyjaśnienia z dużą ilością przykładów z perspektywy statystycznej i nie ograniczając się tylko do fałszywego kodowania, zobacz to z UCLA (w R)
Zauważ, że jeśli używasz
pandas.get_dummies
, istnieje parametr, tzn.drop_first
Czy chcesz usunąć manekiny k-1 z k jakościowych poziomów, usuwając pierwszy poziom. Uwagadefault = False
, co oznacza, że referencja nie jest usuwana, a k manekinów utworzono z k kategorii poziomów!źródło
Nie musisz upuszczać poziomu, w zależności od przypadku użycia.
Zobacz
W jakich przypadkach nie należy upuszczać pierwszego poziomu zmiennych kategorialnych?
i znacznie bardziej ogólne pytanie
W nadzorowanym uczeniu się, dlaczego źle jest mieć skorelowane cechy?
źródło