V tomto článku se naučíme, jak provést rozdělení testu vlaku pomocí Sklearnu v Pythonu.
Train Test Split pomocí Sklearn
Metoda train_test_split() se používá k rozdělení našich dat na vlakové a testovací sady.
Nejprve musíme rozdělit naše data na funkce (X) a štítky (y). Datový rámec se rozdělí na X_train, X_test, y_train a y_test. Sady X_train a y_train slouží k trénování a montáži modelu. Sady X_test a y_test se používají k testování modelu, pokud předpovídá správné výstupy/návěsky. můžeme explicitně otestovat velikost vlaku a testovací soupravy. Doporučujeme ponechat naše vlakové soupravy větší než testovací soupravy.
Vlaková souprava: Tréninková datová sada je sada dat, která byla použita k přizpůsobení modelu. Datová sada, na které je model trénován. Tato data vidí a učí se model.
Testovací sada: Testovací datový soubor je podmnožinou tréninkového datového souboru, který se používá k přesnému vyhodnocení konečného přizpůsobení modelu.
validační sada: Ověřovací datová sada je vzorek dat z tréninkové sady vašeho modelu, která se používá k odhadu výkonu modelu při ladění hyperparametrů modelu.
ve výchozím nastavení je 25 % našich dat testovací sada a 75 % dat jde do tréninkových testů.
binární strom inorder traversal
Syntax: sklearn.model_selection.train_test_split()
parametry:
*pole: sekvence indexovatelných. Seznamy, numpy pole, scipy-sparse matice a datové rámce pandas jsou všechny platné vstupy. test_size: int nebo float, ve výchozím nastavení Žádný. Pokud plovoucí, měla by být mezi 0,0 a 1,0 a představovat procento souboru dat pro testovací rozdělení. Je-li použito int, vztahuje se k celkovému počtu zkušebních vzorků. Pokud je hodnota Žádná, použije se doplněk velikosti vlaku. Pokud je velikost vlaku také Žádná, bude nastavena na 0,25. train_size: int nebo float, ve výchozím nastavení Žádné. random_state : int, ve výchozím nastavení Žádný. Řídí, jak jsou data před implementací rozdělení zamíchána. Pro opakovatelný výstup přes několik volání funkcí předejte int.
shuffle: boolean object , ve výchozím nastavení True. Zda mají být data před rozdělením zamíchána nebo ne. Stratify musí být None, pokud shuffle=False. stratify: array-like object , ve výchozím nastavení je None. Pokud je vybrána možnost Žádná, data jsou stratifikována pomocí těchto štítků jako tříd.vrací: dělení: seznam
Příklad 1:
Jsou importovány balíčky numpy, pandas a scikit-learn. Soubor CSV je importován. X obsahuje funkce a y jsou popisky. rozdělíme datový rámec na X a y a provedeme na nich testovací rozdělení vlaků. random_state funguje jako numpy semeno, používá se pro reprodukovatelnost dat. test_size je uvedena jako 0,25, to znamená, že 25 % našich dat jde do naší testovací velikosti. 1-test_size je velikost našeho vlaku, nemusíme ji specifikovat. shuffle =Pravda, zamíchá naše data před rozlitím. Sady X_train a X_test se používají k přizpůsobení a trénování našeho modelu a testovací sady se používají k testování a ověřování.
Pro přístup k souboru CSV klikněte tady.
img css zarovnat
Python3
# import packages> import> numpy as np> import> pandas as pd> from> sklearn.model_selection>import> train_test_split> > # importing data> df>=> pd.read_csv(>'headbrain1.csv'>)> > # head of the data> print>(df.head())> > X>=> df[>'Head Size(cm^3)'>]> y>=>df[>'Brain Weight(grams)'>]> > # using the train test split function> X_train, X_test,> y_train, y_test>=> train_test_split(X,y ,> >random_state>=>104>,> >test_size>=>0.25>,> >shuffle>=>True>)> > # printing out train and test sets> > print>(>'X_train : '>)> print>(X_train.head())> print>('')> print>(>'X_test : '>)> print>(X_test.head())> print>('')> print>(>'y_train : '>)> print>(y_train.head())> print>('')> print>(>'y_test : '>)> print>(y_test.head())> |
konverze typu java a casting
>
rok měsíc
>
Výstup:
Head Size(cm^3) Brain Weight(grams) 0 4512 1530 1 3738 1297 2 4261 1335 3 3777 1282 4 4177 1590 X_train : 99 3478 52 4270 184 3479 139 3171 107 3399 Name: Head Size(cm^3), dtype: int64 (177,) X_test : 66 3415 113 3594 135 3436 227 4204 68 4430 Name: Head Size(cm^3), dtype: int64 (60,) y_train : 99 1270 52 1335 184 1160 139 1127 107 1226 Name: Brain Weight(grams), dtype: int64 (177,) y_test : 66 1310 113 1290 135 1235 227 1380 68 1510 Name: Brain Weight(grams), dtype: int64 (60,)>
Příklad 2:
V tomto příkladu se postupují podle stejných kroků, místo zadání test_size zadáme train_size. test_size je 1-train_size. 80 % dat je vlaková sada, takže 20 % našich dat je naše testovací sada. Pokud neurčíme velikosti testovacích a vlakových sad ve výchozím nastavení test_size bude 0,25. X_train a y_train mají stejný tvar a indexy, protože y_train je označení pro funkce X_train. totéž platí pro X_test a y_test.
Python3
npm cache čistá
# import packages> import> numpy as np> import> pandas as pd> from> sklearn.model_selection>import> train_test_split> > # importing data> df>=> pd.read_csv(>'headbrain1.csv'>)> print>(df.shape)> > # head of the data> print>(df.head())> > X>=> df[>'Head Size(cm^3)'>]> y>=>df[>'Brain Weight(grams)'>]> > # using the train test split function> X_train, X_test, y_train,> y_test>=> train_test_split(X,y ,> >random_state>=>104>,> >train_size>=>0.8>, shuffle>=>True>)> > # printing out train and test sets> print>(>'X_train : '>)> print>(X_train.head())> print>(X_train.shape)> print>('')> print>(>'X_test : '>)> print>(X_test.head())> print>(X_test.shape)> print>('')> print>(>'y_train : '>)> print>(y_train.head())> print>(y_train.shape)> print>('')> print>(>'y_test : '>)> print>(y_test.head())> print>(y_test.shape)> |
>
>
Výstup:
(237, 2) Head Size(cm^3) Brain Weight(grams) 0 4512 1530 1 3738 1297 2 4261 1335 3 3777 1282 4 4177 1590 X_train : 110 3695 164 3497 58 3935 199 3297 182 4005 Name: Head Size(cm^3), dtype: int64 (189,) X_test : 66 3415 113 3594 135 3436 227 4204 68 4430 Name: Head Size(cm^3), dtype: int64 (48,) y_train : 110 1310 164 1280 58 1330 199 1220 182 1280 Name: Brain Weight(grams), dtype: int64 (189,) y_test : 66 1310 113 1290 135 1235 227 1380 68 1510 Name: Brain Weight(grams), dtype: int64 (48,)>