/ / Znajdź numer kolumny spełniający warunek na podstawie innego wektora - r, uczenie maszynowe, klasyfikacja, próg

Znajdź numer kolumny, który spełnia warunek oparty na innym wektorze - r, uczeniu maszynowym, klasyfikacji, progu

Próbuję trenować klasyfikator dla klas „Hit”, „Miss” na podstawie zmiennych User, Planning Horizon, Materiali kilka innych. Większość z nich to zmienne jakościowe z wyjątkiem Planning Horizon (liczba całkowita)

Mam niezrównoważone dane, więc próbuję użyć progu, aby wybrać ostateczne wyjście modelu (zamiast tylko domyślnego prawdopodobieństwa 0,5)

Zmienna User ma największy wpływ na wynik zajęć, dlatego próbuję zastosować różne progi dla każdego użytkownika. Zastanawiam się nad zastosowaniem naiwnego Bayesa prawdopodobieństwa a posteriori P (klasa | użytkownik).

Pytanie brzmi: w jaki sposób mogę zastosować te różne reguły do ​​macierzy wyjściowej modelu:

„Matryca progów”, inny próg dla każdego użytkownika:

User    P("Hit"|User)
A           0.80
B           0.40
C           0.61

A wyniki klasyfikatora (P (Hit) i P (Miss)) i ostatniej kolumny (Final Prediction) to to, co muszę zbudować.

User    P("Miss")   P("Hit")    Final Prediction
B           0.79    0.21        Miss
B           0.20    0.80        Hit
A           0.15    0.85        Hit
C           0.22    0.78        Hit
A           0.90    0.10        Miss
B           0.80    0.20        Miss

Zauważ, że pierwszy wiersz otrzymuje MISS, ponieważ P (Miss) jest niższe niż P (Hit | User = B)

Odpowiedzi:

0 dla odpowiedzi № 1

Scalę moją macierz progową, a następnie utworzę Final Prediction kolumna ręcznie w ten sposób.

df <- read.table(text="User P("Miss") P("Hit") "Final Prediction"
B 0.79 0.21 Miss
B 0.20 0.80 Hit
A 0.15 0.85 Hit
C 0.22 0.78 Hit
A 0.90 0.10 Miss
B 0.80 0.20 Miss",
header=TRUE, sep=" ", check.names=FALSE)

thm <- read.table(text="User P("Hit"|User)
A 0.80
B 0.40
C 0.61",
header=TRUE, sep=" ", check.names=FALSE)

thmdf <- merge(thm, df)

thmdf["My Final Prediction"] <-
ifelse(thmdf$`P(Hit)` < thmdf$`P(Hit|User)`,
"Miss",
"Hit")

thmdf