Video: Tunturi Cardio Fit B30 Hometrainer - Fitwinkel 2024
Voordat u de SVM-classifier (Support Vector Machine) kunt invoeren met de gegevens die zijn geladen voor voorspellende analyses, moet u de volledige gegevensset splitsen in een trainingsset en testset.
Gelukkig heeft scikit-learn een functie geïmplementeerd die u helpt om de volledige dataset eenvoudig te splitsen. De functie train_test_split neemt als invoer een enkele gegevensset en een procentuele waarde. De percentagewaarde wordt gebruikt om de grootte van de testset te bepalen. De functie retourneert twee gegevenssets: de testgegevensset (met de opgegeven grootte) en de trainingsgegevensset (die de resterende gegevens gebruikt).
Normaal gesproken kan men ongeveer 70-80 procent van de gegevens gebruiken om te gebruiken als een trainingsset en de resterende gegevens als testset gebruiken. Maar de Iris-dataset is erg klein (slechts 150 exemplaren), dus u kunt 90 procent ervan nemen om het model te trainen en de andere 10 procent als testgegevens gebruiken om te zien hoe uw voorspellende model presteert.
Typ de volgende code om uw dataset te splitsen: >>>> van sklearn import cross_validation >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (iris. data, iris. target, test_size = 0. 10, random_state = 111)
De eerste regel importeert cross-validation library in uw sessie. De tweede regel maakt de testset van 10 procent van het monster.
y_train bevat 135 labels in dezelfde volgorde als de 135 waarnemingen.
x_test bevat 15 (of 10 procent) waarnemingen en de bijbehorende functies.
y_test bevat 15 labels in dezelfde volgorde als de 15 waarnemingen.
De volgende code verifieert dat de splitsing is wat u verwachtte:
Veel beginners op het gebied van voorspellende analyses vergeten de datasets te splitsen - wat een ernstige ontwerpfout in het project introduceert. Als de volledige 150 exemplaren als trainingsgegevens in de machine waren geladen, zou dat geen onzichtbare gegevens achterlaten voor het testen van het model. Dan zou je je toevlucht moeten nemen tot het hergebruiken van enkele van de trainingsinstanties om het voorspellende model te testen.
U zult zien dat het model in een dergelijke situatie altijd de juiste klasse voorspelt, omdat u dezelfde exacte gegevens gebruikt die u gebruikte om het model te trainen.Het model heeft dit patroon al eerder gezien; het zal geen probleem zijn om gewoon te herhalen wat het gezien wordt. Een werkend voorspellend model moet voorspellingen doen voor gegevens die het nog niet heeft gezien.
Als u een instantie van een SVM-classificator, een trainingsgegevensset en een testgegevensset hebt, bent u klaar om het model met de trainingsgegevens te trainen. Typ de volgende code in de interpreter: >>>> svmClassifier. fit (X_train, y_train)
Deze regel maakt een werkmodel om voorspellingen van te maken. Specifiek, een voorspellend model dat zal voorspellen tot welke klasse van Iris een nieuwe niet gelabelde dataset behoort. De instantie svmClassifier heeft verschillende methoden die u kunt gebruiken om verschillende dingen te doen.
Bijvoorbeeld, na het aanroepen van de fit-methode, is de voorspellingsmethode de meest bruikbare methode om te callen. Dat is de methode waaraan u nieuwe gegevens toevoegt; in ruil daarvoor voorspelt het de uitkomst.