pareto-optimization
Optymalizuj wiele celów jednocześnie — znajdź najlepsze kompromisy między sprzecznymi wymaganiami
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umiejętność do optymalizacji wielokryterialnej z użyciem frontierów Pareto. Zastosuj ją, gdy musisz zoptymalizować kilka konkurencyjnych celów jednocześnie — na przykład dokładność modelu versus czas odpowiedzi, lub koszt versus wydajność. Skill oblicza punkty niezdominowane, czyli rozwiązania, w których poprawa jednego celu wymaga poświęcenia innego. Idealna do wyboru najlepszych kompromisów w projektach inżynieryjnych, uczenia maszynowego i planowania zasobów.
Jak używać
Przygotuj dane w postaci tabeli (DataFrame) zawierającej kolumny reprezentujące Twoje cele optymalizacji — na przykład dokładność modelu, opóźnienie, rozmiar modelu lub inne metryki.
Zainstaluj bibliotekę paretoset, która oblicza frontierę Pareto:
pip install paretoset.Zaimportuj bibliotekę i przygotuj dane:
from paretoset import paretosetorazimport pandas as pd. Wczytaj swoje dane do DataFrame'a.Zdefiniuj, które cele chcesz maksymalizować (sense="max") a które minimalizować (sense="min"). Na przykład: dokładność powinna być maksymalna, a opóźnienie minimalne.
Oblicz maskę Pareto, wywołując
paretoset(objectives, sense=[...]), gdzie objectives to kolumny z Twoimi celami. Funkcja zwróci tablicę wartości logicznych wskazujących, które punkty są niezdominowane.Wyfiltruj oryginalne dane używając maski:
pareto_points = df[pareto_mask]. Otrzymasz zbiór rozwiązań optymalnych — każde z nich reprezentuje inny kompromis między celami. Możesz teraz wybrać rozwiązanie, które najlepiej pasuje do Twoich potrzeb biznesowych.