Wyszukaj Grid CV w Sklearn

Wyszukaj Grid CV w Sklearn

„Zmienne modelu uczenia maszynowego, które określają, w jaki sposób parametry zostaną dostrojone, są znane jako hiperparametry. Problem wyboru grupy idealnych hiperparametrów do algorytmu uczenia się jest znany jako strojenie hiperparametrów. Hiperparametry można konfigurować ręcznie lub automatycznie. Do tej poprawki dostępnych jest wiele algorytmów. Jedna z takich metod, Gridsearchcv, zostanie omówiona na tym blogu."

Co to są hiperparametry?

Możemy dopasować parametry modelu za pomocą istniejących danych do wyszkolenia modelu. Innej klasy parametrów nie można od razu nauczyć się poprzez rutynowe szkolenie. Te parametry reprezentują cechy „wyższego poziomu” modelu, takie jak złożoność i wskaźnik uczenia się. Hiperparametry to dla nich termin. Zazwyczaj hiperparametry są dostosowywane przed rozpoczęciem treningu.

Co to jest wyszukiwanie siatki CV?

Wyszukiwanie Grid ocenia wydajność każdej możliwej kombinacji hiperparametrów i ich wartości, wybiera kombinację z najlepszą wydajnością i przyjmuje tę kombinację jako punkt wyjścia. Przy tak dużej liczbie hiperparametrów przetwarzanie staje się czasochłonne i drogie. Walidacja krzyżowa odbywa się w GridsearchCV oprócz wyszukiwania siatki. Walidacja krzyżowa jest stosowana podczas przeszkolenia modelu do potwierdzenia wyników w stosunku do zestawu danych.

Wyszukiwanie siatki w dwóch hiperparametrach (źródło: Wikipedia)

Jak działa wyszukiwanie siatki?

W najbardziej podstawowej formie wyszukiwanie siatki jest metodą wykorzystującą brutalną siłę do oszacowania hiperparametrów. Powiedzmy, że masz K Hyperparameters, a dla każdego z nich są możliwe wartości CI. Przyjęcie kartezjańskiego produktu tych potencjalnych wartości jest zasadniczo tym, czym jest wyszukiwanie siatki. Chociaż wyszukiwanie siatki może wydawać się wysoce nieefektywne, można je przyspieszyć za pomocą przetwarzania równoległego.

Wdrożenie wyszukiwania siatki w Sklearn

# Importowanie bibliotek i klas
Z SKLEARN Import SVM, zestawów danych
ze Sklearn.Model_Selection Import Gridsearchcv
# Ładowanie zestawu danych IRIS
Data = Zestawy danych.load_iris ()
# Określenie przestrzeni parametrów i algorytmu
parametry = „jądro” :( „liniowy”, „rbf”), „c”: [5, 20]
# Tworzenie modelu
svc = svm.Svc ()
# Tworzenie instancji Gridsearch
clf = gridsearchcv (svc, parametry)
# dopasowanie modelu
Drukuj (CLF.dopasowanie (dane.dane, dane.cel))
# Drukowanie wyników
Drukuj (CLF.CV_RESULTS_.Klucze())

Wyjście

Gridsearchcv (estymator = svc (),
param_grid = 'c': [5, 20], „jądro”: („liniowy”, „rbf”)))
dict_keys (['Mean_fit_time', 'std_fit_time', 'mean_score_time', 'std_score_time', 'param_c', 'param_kernel', 'params', 'split0_test_score', 'split1_test_score', 'split2_test_score', 'split3_test_score', ',', ',', ',', ',', , „Mean_test_score”, „std_test_score”, „rank_test_score”]))

Wniosek

W tym artykule mówi się o tym, jak dostroić hiperparametry za pomocą Gridsearchcv i jego wdrożenia. W uczeniu maszynowym hiperparametry są parametrami, które użytkownik bezpośrednio definiuje w celu regulacji procesu uczenia się. Te hiperparametry są wykorzystywane do poprawy procesu uczenia się modelu. Strojenie hiperparametra obejmuje określanie idealnych wartości dla różnych parametrów. Sklearn oferuje klasę „Wybór trybu”, która umożliwia nam generowanie instancji wyszukiwania siatki i korzystanie z nich do naszych celów.