Togtest delt i Sklearn

Togtest delt i Sklearn

Det første datasettet som trengs for å trene maskinlæringsalgoritmer er kjent som treningsdata. Maskinlæringsalgoritmer blir instruert om å lage spådommer eller utføre en oppgave ved hjelp av treningsdatasett. Testdatasettet vurderer hvor godt treningsdataene utføres. Sklearn er en Python-basert maskinlæring verktøysett som lar oss dele opp dataene våre i tog- og teste prøver ved hjelp av Train_test_split () metode. Train_test_split () -teknikken er diskutert i denne artikkelen.

Hva er togtest delt

Maskinlæringsmodeller er opplært ved hjelp av togtest delt teknikk. Den fastslår hvor effektivt maskinlæringsalgoritmer fungerer. Det kan brukes til å løse problemer som involverer regresjon og klassifisering. Maskinlæringstreningsdatasettet er togtest splittet. Det består av en betydelig mengde data. I Python, den Scikit Learn Package har en modul som heter Model Selection som du kan importere “Togtest Split”. Du kan levere trenings- og teststørrelsesprøven i denne funksjonen ved hjelp av tog- og teststørrelser. Det er ikke noe som heter den perfekte delte prosentandelen. Du bør velge en delt prosentandel som passer målene for prosjektet ditt.

Modellen må nøyaktig samsvare med de gitte dataene ved hjelp av kjente innganger og utganger. Programmet brukes deretter til å komme med spådommer på det gjenværende dataundersettet for å lære av det. Uten å vite forventede inngangs- og utgangsverdier, kan dette brukes til å generere spådommer om datasett i fremtiden. Train_test_split () -funksjonen i Scikit-Learn Machine Learning Toolkit in Python kan brukes til å implementere togtest-split evalueringsteknikk. Den aksepterer datasettet som inngang og deler det i to undergrupper som utgang.

Testsett

Testsettet er et utvalg av forekomster hentet fra datasettet for å måle modellens effektivitet. Disse dataene holdes atskilt fra trenings- og innstillingsdataene. Kan derfor ikke brukes under læringsprosessens trenings- eller innstillingstrinn. Dette vil bare påvirke ytelsen ved å forspente modellen til dataene.

Treningssett

Trenings- og testsettene må holdes adskilt. Treningsfasen bruker treningssettet for å identifisere parameterverdier som minimerer en spesifikk kostnadsfunksjon på tvers av hele treningssettet. Når den er trent på treningsdatasettet, vil modellen bli evaluert på testdatasettet. Testdatasettet skal ikke være mye mindre enn treningsdatasettet.

Hvordan trene data

En modell er bygget ved hjelp av spesifikke data, referert til som "trening" -data. I en enkel lineær modell formaliserer modellen sammenhenger mellom variabler ved å produsere den matematiske ligningen for en linje. Modelltypen bestemmer hvordan den er bygget. For eksempel skiller en regresjon seg fra andre metoder.

Det er viktig å skille treningsdata fra andre data, siden du ofte vil dele det første datasettet i to deler: treningsdata for å lage modeller og teste data for å evaluere dem. Vanligvis vil du gjøre dette ved å la modellen din forutsi verdier i testdata (basert på variablene i modellen) og sammenligne dem med de faktiske verdiene.

Hensikten med å dele opp dataene våre

Overmontering og undermontering er to viktige problemer vi står overfor mens vi tester datasettet vårt.

Å bygge en modell basert på data som ikke er ment å bli kjent, kalles skjevhet.

Overmontering er når en modell tilpasser seg for tett til historiske data. Det blir mislykket i fremtiden. Undermontering er handlingen med å lage en modell som tilpasser seg tidligere data så løst at de gjøres ubrukelig i fremtiden.

Implementering av tog_test_split () i Sklearn

# Importere de nødvendige metodene og bibliotekene
Importer numpy som NP
Fra Sklearn.Model_selection import tog_test_split
# Opprette prøvedatasett
X, y = np.Arange (100).omforme ((20, 5)), rekkevidde (20)
trykk ('funksjoner er', x)
Print ('Måletiketter er', liste (y))

Produksjon

Funksjoner er

[[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]]

Måletiketter er

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

Deling dataene

X_train, x_test, y_train, y_test = tog_test_split (x, y, test_size = 0.33, Random_state = 42)
trykk ('treningsfunksjoner er', x_train)
trykk ('treningsetiketter er', y_train)
Print ('Testfunksjonene er', X_TEST)
trykk ('Testetiketter er', y_test)

Produksjon

Treningsfunksjoner er

[[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]]

Treningsetiketter er

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

Testfunksjoner er

[[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]]

Testetiketter er

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

Konklusjon

Vi diskuterte Train_Test_Split () -metoden til Sklearn, som brukes til å dele ut innledende data i tog- og testprøver. Dette er nødvendig for å evaluere modellytelsen vår og til slutt forbedre den. Vi så også hvordan tog- og testprøver er forskjellige fra hverandre. Til slutt implementerte vi Train_Test_Split () -metoden i Sklearn.