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.