Na blogu Keras o konwencjach szkoleniowych od zera kod pokazuje tylko sieć działającą na danych szkoleniowych i walidacyjnych. Co z danymi testowymi? Czy dane walidacyjne są takie same jak dane testowe (nie sądzę). Jeśli istniał oddzielny folder testowy na podobnych liniach jak folder pociągu i sprawdzania poprawności, w jaki sposób otrzymujemy macierz nieporozumień dla danych testowych. Wiem, że do tego celu musimy użyć scikit learn lub jakiegoś innego pakietu, ale jak mogę uzyskać coś podobnego do klasowych prawdopodobieństw dla danych testowych? Mam nadzieję, że użyję tego do macierzy pomieszania.
16
Odpowiedzi:
Aby uzyskać macierz nieporozumień z danych testowych, należy przejść przez dwa kroki:
Na przykład użyj,
model.predict_generator
aby przewidzieć pierwsze 2000 prawdopodobieństw z generatora testowego.Na przykład porównaj prawdopodobieństwo z przypadkiem, że odpowiednio jest 1000 kotów i 1000 psów.
Dodatkowa uwaga na temat danych testowych i walidacyjnych
Dokumentacja Keras wykorzystuje trzy różne zestawy danych: dane treningowe, dane walidacyjne i dane testowe. Dane treningowe służą do optymalizacji parametrów modelu. Dane walidacyjne służą do dokonywania wyborów dotyczących meta-parametrów, np. Liczby epok. Po zoptymalizowaniu modelu z optymalnymi meta-parametrami dane testowe są wykorzystywane do uzyskania rzetelnego oszacowania wydajności modelu.
źródło
np.array([0] * 1000 + [1] * 1000)
możesz uzyskać ten sam zestaw, wykonującgenerator.classes
Oto kod, który próbowałem i pracował dla mnie:
Następnie możesz użyć:
Upewnij się, że używasz
shuffle=False
w swoim generatorze testów (w moim przypadku jest to generator sprawdzania poprawności) i zresetuj go za pomocąvalidation_generator.reset()
przed dokonaniem prognoz.źródło
W przypadku macierzy pomieszania musisz użyć pakietu sklearn. Nie sądzę, że Keras może zapewnić macierz dezorientacji. Aby przewidzieć wartości w zestawie testowym, wystarczy wywołać metodę model.predict () w celu wygenerowania prognoz dla zestawu testowego. Rodzaj wartości wyjściowych zależy od typu modelu, tj. Dyskretnego lub prawdopodobieństwa.
źródło