Jestem początkującym w uczeniu maszynowym i mam do czynienia z sytuacją. Pracuję nad problemem określania stawek w czasie rzeczywistym z zestawem danych IPinYou i próbuję przewidzieć kliknięcie.
Chodzi o to, że, jak być może wiesz, zestaw danych jest bardzo niezrównoważony: około 1300 negatywnych przykładów (bez kliknięcia) na 1 pozytywny przykład (kliknięcie).
Tym się właśnie zajmuję:
- Załaduj dane
- Podziel zestaw danych na 3 zestawy danych: A = szkolenie (60%) B = sprawdzanie poprawności (20%) C = testowanie (20%)
- Dla każdego zestawu danych (A, B, C) wykonaj niepełne próbkowanie dla każdej ujemnej klasy, aby uzyskać stosunek 5 (5 negatywnych przykładów dla 1 pozytywnego przykładu). To daje mi 3 nowe zestawy danych, które są bardziej zrównoważone: A „B” C ”
Następnie trenuję mój model z zestawem danych A 'i regresją logistyczną.
Moje pytanie brzmi:
Którego zestawu danych muszę użyć do weryfikacji? B czy B '?
Którego zestawu danych muszę używać do testowania? C lub C ”
Które dane są najbardziej odpowiednie do oceny mojego modelu? F1Score wydaje się być dobrze wykorzystywanym wskaźnikiem. Ale tutaj z powodu niezrównoważonej klasy (jeśli używam zestawów danych B i C), precyzja jest niska (poniżej 0,20), a na F1Score duży wpływ ma niskie przywołanie / precyzja. Czy bardziej dokładne byłoby użycie aucPR lub aucROC?
Jeśli chcę wykreślić krzywą uczenia się, jakich wskaźników powinienem użyć? (wiedząc, że błąd% nie jest istotny, jeśli używam zestawu danych B do sprawdzania poprawności)
Z góry dziękuję za poświęcony czas!
Pozdrowienia.
źródło
Dla
1)
i2)
chceszW przypadku tych zestawów danych nie powinno być potrzeby równoważenia klas.
Możesz także spróbować użyć wag klas zamiast niedociążenia / oversamplingu, ponieważ to zajmie się tą decyzją.
Dla
3)
prawdopodobnie chcesz zoptymalizować za pomocą cokolwiek metryka będzie zakończył (jeśli jest to konkurencja). Ale jeśli to nie jest rozważane, wszystkie te modele są dobrym wyborem. Niska precyzja może mieć wpływ na F1, ale chcesz, aby została przechwycona. Właśnie wtedy, gdy naiwne modele (jak zgadywanie klasy większościowej) mogą dobrze ocenić według niektórych wskaźników, wyniki takie jak F1 są istotne.Jeśli chodzi o
4)
to, że nie ma nic złego w pokazaniu dowolnej metryki, na której się optymalizujesz.źródło
Powinieneś przetestować swój klasyfikator na zestawie danych, który reprezentuje powód, dla którego zostanie on użyty. Najlepsza jest zwykle niezmodyfikowana dystrybucja.
Podczas nauki zmodyfikuj zestaw danych w jakikolwiek sposób, który ci pomoże.
Aby uzyskać szczegółowe informacje, zobacz Czy powinienem wybrać „zrównoważony” zestaw danych czy „reprezentatywny” zestaw danych?
źródło