Video: Concept2 Roddmaskin - Träningspartner.se 2024
Innan du kan mata SVM-klassificeringsenheten (Support Vector Machine) med data som laddades för predictive analytics måste du dela upp hela datasetet i en träningsuppsättning och testuppsättning.
Lyckligtvis har scikit-learn implementerat en funktion som hjälper dig att enkelt dela upp hela datasetet. Funktionen train_test_split tar som input en enda dataset och ett procentvärde. Procentvärdet används för att bestämma storleken på testuppsättningen. Funktionen returnerar två dataset: testdatasetet (med angiven storlek) och träningsdatasatsen (som använder resterande data).
Vanligen kan man ta omkring 70-80 procent av de data som ska användas som träningssats och använda de återstående data som testuppsättning. Men Iris dataset är väldigt liten (endast 150 instanser), så du kan ta 90 procent av det för att träna modellen och använda de övriga 10 procenten som testdata för att se hur din prediktiva modell kommer att fungera.
Skriv in följande kod för att dela upp dina dataset: >>>> från 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)
Den första raden importerar korsvalideringsbiblioteket i din session. Den andra raden skapar testuppsättningen från 10 procent av provet.
y_train innehåller 135 etiketter i samma ordning som 135 observationer.
x_test kommer att innehålla 15 (eller 10 procent) observationer och dess funktioner.
y_test innehåller 15 etiketter i samma ordning som de 15 observationerna.
Följande kod verifierar att delningen är vad du förväntade dig:
Många nybörjare inom predictive analytics glömmer att dela upp dataseten - vilket introducerar en allvarlig designfel i projektet. Om de fullständiga 150 instanserna laddades in i maskinen som träningsdata skulle det inte lämna några osynliga data för testning av modellen. Då måste du tillgripa att återanvända några av träningsinstanserna för att testa den prediktiva modellen.
Du kommer se att i en sådan situation förutser modellen alltid rätt klass - eftersom du använder samma exakta data som du använde för att träna modellen.Modellen har redan sett detta mönster tidigare; Det kommer inte vara något problem att bara upprepa vad det har sett. En fungerande prediktiv modell måste göra förutsägelser för data som den inte har sett än.
När du har en förekomst av en SVM-klassificerare, en träningsdataset och en testdataset, är du redo att träna modellen med träningsdata. Att skriva följande kod i tolken gör just det: >>>> svmClassifier. fit (X_train, y_train)
Denna kodlinje skapar en arbetsmodell för att göra förutsägelser från. Speciellt en prediktiv modell som kommer att förutsäga vilken klass av Iris en ny omärkt dataset tillhör. SvmClassifier-förekomsten kommer att ha flera metoder som du kan ringa för att göra olika saker.
Till exempel, efter att ha kallat passformmetoden är det mest användbara sättet att ringa förutspådningsmetoden. Det är den metod som du ska mata nya data till. I gengäld förutsäger det resultatet.