Test pociągowy podzielony na Sklearn

Test pociągowy podzielony na Sklearn

Początkowy zestaw danych potrzebny do szkolenia algorytmów uczenia maszynowego jest znany jako dane szkoleniowe. Algorytmy uczenia maszynowego są pouczane, aby dokonywać prognoz lub wykonywanie zadania za pomocą zestawów danych szkoleniowych. Zestaw danych testowych ocenia, w jaki sposób dane szkolenia są wykonywane. Sklearn to zestaw narzędzi do uczenia maszynowego opartego na Pythonie, który pozwala nam podzielić nasze dane na próbki pociągu i testować przy użyciu THAR_TEST_SPLIT () metoda. Technika Train_Test_Split () omówiono w tym artykule.

Co to jest podział testu pociągu

Modele uczenia maszynowego są szkolone przy użyciu techniki podziału testu pociągu. Ustala, jak skutecznie funkcjonują algorytmy uczenia maszynowego. Można go zastosować do rozwiązywania problemów obejmujących regresję i klasyfikację. Zestaw danych szkoleniowych uczenia maszynowego to podział testu pociągu. Składa się z znacznej liczby danych. W Python, scikit Pakiet Learn ma moduł o nazwie Model Select. Możesz dostarczyć próbkę treningową i testową w tej funkcji za pomocą wielkości pociągu i testów. Nie ma czegoś takiego jak idealny odsetek podziału. Powinieneś wybrać podzielony procent, który pasuje do celów Twojego projektu.

Model musi dokładnie dopasować podane dane za pomocą znanych danych wejściowych i wyjść. Program jest następnie wykorzystywany do przewidywania pozostałego podzbioru danych, aby się z niego nauczyć. Nie znając przewidywanych wartości wejściowych i wyjściowych, można to wykorzystać do generowania prognoz dotyczących zestawów danych w przyszłości. Funkcję Train_Test_Split () w zestawie narzędzi do uczenia maszynowego Scikit-Learn w Python może być używana do wdrożenia techniki oceny podziału testu. Akceptuje zestaw danych jako wejście i dzieli go na dwa podzbiory jako wyjście.

Zestaw testowy

Zestaw testowy to wybór instancji wyciągniętych z zestawu danych, aby ocenić skuteczność modelu. Dane te są odrębne od danych szkoleniowych i strojenia. Dlatego nie można używać podczas etapów szkolenia lub strojenia procesu uczenia się. Wpłynęłoby to jedynie na wydajność poprzez tendencję do odchylenia modelu do danych.

Zestaw treningowy

Zestawy szkoleniowe i testowe muszą być oddzielone. Faza szkolenia pochłania zestaw szkoleniowy w celu zidentyfikowania wartości parametrów, które minimalizują określoną funkcję kosztu w całym zestawie szkoleniowym. Po przeszkoleniu w zestawie danych szkoleniowych model zostanie oceniony na zestawie danych testowych. Zestaw danych testowych nie powinien być znacznie mniejszy niż zestaw danych szkoleniowych.

Jak trenować dane

Model jest budowany przy użyciu określonych danych, określanych jako „szkolenie” danych. W prostym modelu liniowym model formalizuje relacje między zmiennymi poprzez wytwarzanie równania matematycznego dla linii. Typ modelu określa, w jaki sposób jest budowany. Na przykład regresja różni się od innych metod.

Ważne jest, aby odróżnić dane szkoleniowe od innych danych, ponieważ często dzielisz swój początkowy zestaw danych na dwie części: dane szkolenia do tworzenia modeli i testów danych do ich oceny. Zazwyczaj zrobiłbyś to, mając swój model przewidywanie wartości w danych testowych (na podstawie zmiennych w modelu) i porównując je z wartościami rzeczywistymi.

Cel podziału naszych danych

Nadmierne dopasowanie i niedostateczne są dwa istotne problemy, przed którymi stoimy podczas testowania naszego zestawu danych.

Budowanie modelu opartego na danych, które nie powinny być znane, nazywa się stronniczością wyglądu.

Nadmierne dopasowanie ma miejsce, gdy model zbyt ściśle dostosowuje się do danych historycznych. W przyszłości staje się to niepowtarzalne. Udoskonaleniem jest tworzenie modelu, który dostosowuje się do wcześniejszych danych tak luźno, że w przyszłości jest bezużyteczny.

Wdrożenie Train_Test_Split () w Sklearn

# Importowanie niezbędnych metod i bibliotek
importować Numpy jako NP
ze Sklearn.Model_Selection Import Train_Test_Split
# Tworzenie przykładowego zestawu danych
X, y = np.Arange (100).Reshape ((20, 5)), zakres (20)
druk („funkcje to”, x)
druk („Etykiety docelowe to”, lista (y))

Wyjście

Funkcje są

[[0 1 2 3 4]
[5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]
[25 26 27 28 29]
[30 31 32 33 34]
[35 36 37 38 39]
[40 41 42 43 44]
[45 46 47 48 49]
[50 51 52 53 54]
[55 56 57 58 59]
[60 61 62 63 64]
[65 66 67 68 69]
[70 71 72 73 74]
[75 76 77 78 79]
[80 81 82 83 84]
[85 86 87 88 89]
[90 91 92 93 94]
[95 96 97 98 99]]

Etykiety docelowe są

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Podział danych

X_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0.33, Random_State = 42)
druk („funkcje treningowe to”, x_train)
druk („etykiety treningowe to”, y_train)
druk („funkcje testowe to”, x_test)
druk („etykiety testowe to”, y_test)

Wyjście

Funkcje treningowe są

[[15 16 17 18 19]
[90 91 92 93 94]
[80 81 82 83 84]
[65 66 67 68 69]
[10 11 12 13 14]
[45 46 47 48 49]
[95 96 97 98 99]
[20 21 22 23 24]
[60 61 62 63 64]
[35 36 37 38 39]
[50 51 52 53 54]
[70 71 72 73 74]
[30 31 32 33 34]]

Etykiety treningowe są

[3, 18, 16, 13, 2, 9, 19, 4, 12, 7, 10, 14, 6]

Funkcje testowe są

[[0 1 2 3 4]
[85 86 87 88 89]
[75 76 77 78 79]
[5 6 7 8 9]
[40 41 42 43 44]
[25 26 27 28 29]
[55 56 57 58 59]]

Etykiety testowe są

[0, 17, 15, 1, 8, 5, 11]

Wniosek

Omówiliśmy metodę Sklearn, która jest używana do podziału początkowych danych na próbki pociągu i testu. Jest to wymagane do oceny wydajności naszego modelu i ostatecznego ulepszenia. Widzieliśmy również, jak różnią się próbki pociągu i testu. Na koniec zaimplementowaliśmy metodę Train_Test_Split () w Sklearn.