2016-10-17 3 views
1

ich einen Text-Klassifikator erstellt haben, die Kommentare in verschiedenen Kategorien wieKFold Kreuzvalidierung für KNN Text Classifier in R

 Comment       Category 
Good Service provided     Service 
Excellent Communication     Communication 

I-Klassifikation getan klassifiziert:

knn(modeldata[train, ], modeldata[test,] , cl[train], k =2, use.all = TRUE) 

Jetzt möchte ich Bewerten Sie dieses Modell mit der K-Fold Cross Validation. Ich erwarte eine Zahl, die ich verwenden kann wissen, ob Modell Überanpassung oder underfitting etc

ich verwendet habe

knn.cv(modeldata[train, ], cl[train], k =2, use.all = TRUE) 

Aber Hilfe dieses Befehls sagt, es wird wieder NA, wenn Modell verwirrt ist. Bitte führen Sie

Antwort

1

Welches Paket verwenden Sie für knn?

training <- iris 
ctrl <- trainControl(method="repeatedcv",repeats = 3) 
knnFit <- train(Species ~ ., data = training, method = "knn", 
       trControl = ctrl, preProcess = c("center","scale")) 
knnFit 

mit dem Ausgang

k-Nearest Neighbors 

150 samples 
    4 predictor 
    3 classes: 'setosa', 'versicolor', 'virginica' 

Pre-processing: centered (4), scaled (4) 
Resampling: Cross-Validated (10 fold, repeated 3 times) 
Summary of sample sizes: 135, 135, 135, 135, 135, 135, ... 
Resampling results across tuning parameters: 

    k Accuracy Kappa  
    5 0.9511111 0.9266667 
    7 0.9577778 0.9366667 
    9 0.9533333 0.9300000 

Accuracy was used to select the optimal model using the largest value. 
The final value used for the model was k = 7. 
+0

Ich bin mit "Klasse" Paket für KNN: Sie können caret für CV wie folgt aus (zB mit dem Iris-Datensatz) verwenden. Ich bin mir nicht sicher, ob es wegen der Anzahl der Spalten im Iris-Dataset für den Iris-Dataset funktioniert, aber nicht für meinen Dataset (der nur zwei Spalten hat). Wenn ich über Befehl gehe, bekomme ich unten Nachricht: Warnung in preProcess.default (thresh = 0,95, k = 5, Methode = c ("center",: Diese Variablen haben Null Varianzen: – Sourabh

+0

Ich habe auch versucht, unten Aussagen aber bekommen Fehlermeldung:. knnFit1 <- train (Kategorie ~ Text, Daten = x, method = "knn", preProcess = NULL, trControl = trainControl (Methode = "cv", Nummer = 5,. classProbs = FALSE)) Fehlermeldung: Eine oder mehrere Faktorstufen im Ergebnis haben keine Daten, haben alle Faktoren berücksichtigt, aber keine Leer-/Leerwerte gefunden – Sourabh

Verwandte Themen