Op het moment dat je een opname maakt van een model en deze moet voorbereiden, heb je duidelijk een dataset. Hoe dan ook, in het kielzog van de voorbereiding moeten we het model testen op een of andere testdataset. Hiervoor heb je een dataset die niet dezelfde is als de voorbereidingsset die je eerder hebt gebruikt. Hoe dan ook, het is over het algemeen niet denkbaar om tijdens de verbeteringsfase zoveel informatie te hebben.

In dergelijke gevallen is het duidelijk dat je de dataset die je hebt in twee sets moet verdelen, een voor het voorbereiden en de andere voor het testen; en dat doe je voordat je begint met het voorbereiden van je model.

Hoe dan ook, het onderzoek is, hoe zou u de informatie scheiden? U kunt de dataset op geen enkele manier fysiek in tweeën splitsen. Bovendien moet u ervoor zorgen dat u de informatie op een onregelmatige manier splitst. Om ons hierbij te helpen, geeft de SciKit-bibliotheek een apparaat, genaamd de Modelkeuzebibliotheek. Er is een klasse in de bibliotheek die, toepasselijk, ‘train_test_split’ wordt genoemd. Met behulp hiervan kunnen we zonder veel moeite de dataset opsplitsen in de preparatie en de testende datasets in verschillende mate.

Er zijn een paar parameters die we moeten begrijpen voordat we de les gebruiken:

test_size – Deze parameter kiest de grootte van de informatie die deel moet uitmaken van de testdataset. Dit wordt gegeven als een deel. Bijvoorbeeld, in het geval dat je 0.5 als waarde hebt, zal de dataset deel uitmaken van de helft van de testdataset. In het geval dat u deze parameter aangeeft, kunt u de volgende parameter negeren.

train_size – Je moet deze parameter bepalen voor het geval je de test_size niet aangeeft. Dit is gelijk aan test_size, maar toch vertel je de klasse welk percentage van de dataset je moet scheiden als voorbereidingsset.

random_state – Hier passeert u een heel getal, dat tijdens de splitsing als zaadje voor de willekeurige getallengenerator zal gaan. Of aan de andere kant, kunt u ook een geval van de RandomState klasse passeren, die uiteindelijk de getallengenerator zal zijn. In het geval dat je niets slaagt, zal de RandomState voorkomen die door np.random gebruikt wordt, gebruikt worden.

Laten we als voorbeeld dezelfde dataset nemen die we in onze vorige voorbeelden hebben overwogen…

We splitsen dit op in twee kenmerkende datasets, een voor de vrije hoogtepunten – x, en een voor de afhankelijke variabele – y (dat is de laatste sectie). We splitsen de dataset x nu op in twee aparte sets – xTrain en xTest. In principe splitsen we de dataset y ook op in twee sets – yTrain en yTest. Dit doen met behulp van de sklearn-bibliotheek is basis. We moeten de code bekijken:

van sklearn.model_selection importeren trein_test_split
xTrain, xTest, yTrain, yTest = train_test_split(x, y, test_size = 0,2, random_state = 0)

Zoals uit de code zou moeten blijken, hebben we een deel van de dataset in een verhouding van 80-20, wat een typische praktijk is in de informatiewetenschap. Voor de verandering zal ik hier niet de opbrengst geven. Geef dit een kans voor jezelf en zie hoe de nieuwe datasets zijn.