Jak mogę próbkować ramkę danych pandy lub graficzną ramkę sb na podstawie danej klasy \ wartości rozkładu etykiety np. Chcę próbkować ramkę danych z kolumną label \ class, aby wybrać wiersze takie, każda etykieta klasy jest równie pobierana, dzięki czemu ma podobną częstotliwość dla każdej etykiety klasy, co odpowiada jednolitemu rozkładowi etykiet klasy. Najlepiej byłoby pobrać próbki zgodnie z pożądanym rozkładem klas.Próbkowanie frameworka opartego na danym rozkładzie
+------+-------+-------+ | col1 | clol2 | class | +------+-------+-------+ | 4 | 45 | A | +------+-------+-------+ | 5 | 66 | B | +------+-------+-------+ | 5 | 6 | C | +------+-------+-------+ | 4 | 6 | C | +------+-------+-------+ | 321 | 1 | A | +------+-------+-------+ | 32 | 432 | B | +------+-------+-------+ | 5 | 3 | B | +------+-------+-------+ given a huge dataframe like above and the required frequency distribution like below: +-------+--------------+ | class | nostoextract | +-------+--------------+ | A | 2 | +-------+--------------+ | B | 2 | +-------+--------------+ | C | 2 | +-------+--------------+
Powyższe należy wyodrębnić wiersze od pierwszego dataframe na podstawie danego rozkładu częstotliwości w drugiej ramce, gdy wartość licznika częstotliwości podano w nostoextract kolumnę z wytworzeniem próbkowanego ramki, gdzie każda grupa pojawia się maksymalnie 2 razy. powinien zignorować i kontynuować, jeśli nie może znaleźć wystarczającej liczby klas, aby spełnić wymaganą liczbę. Wynikowa ramka danych ma być używana dla klasyfikatora opartego na drzewach decyzyjnych.
Jak komentator podaje, próbkowana ramka danych musi zawierać nostoextract różne instancje odpowiedniej klasy? O ile nie ma wystarczającej liczby przykładów dla danej klasy, w takim przypadku po prostu weź wszystkie dostępne.
Czy możesz dodać przykłady tego, co chcesz osiągnąć? A czy patrzysz na 'pandas.DataFrame.sample'? (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sample.html) –
@ chris-sc tak nie pozwala na próbkowanie na podstawie kolumny klasy – stackit
zasadniczo chcę wypróbować przekrzywioną ramkę danych tak, aby wszystkie etykiety klas były w wystarczającym stopniu reprezentowane tak dużo jak to możliwe. Etykiety klas znajdują się w kolumnie "etykieta". To jest podawane do klasyfikatora. @ chris-sc – stackit