2016-07-20 28 views
-1

I Beispiel aus ML_Hackers_for_masters Buch von Kapitel 6 Text Regression verwenden und mit dem Code in Buch zur Verfügung gestellt, aber wenn ich laufe den unterFehler in Regularisierung

gegebenen Code
ranks <- read.csv(file.path('oreilly.csv'),stringsAsFactors = FALSE) 

set.seed(1) 
library('glmnet') 
performance <- data.frame() 
for (lambda in c(0.1, 0.25, 0.5, 1, 2, 5)) { 
    for (i in 1:50) { 
    indices <- sample(1:100, 80) 
    training.x <- x[indices,] 
    training.y <- y[indices] 
    test.x <- x[-indices,] 
    test.y <- y[-indices] 
    glm.fit <- glmnet(training.x, training.y) 
    predicted.y <- predict(glm.fit, test.x, s = lambda) 
    rmse <- sqrt(mean((predicted.y - test.y)^2)) 
    performance <- rbind(performance, data.frame(Lambda = lambda, Iteration = i, RMSE = rmse)) 
    } 
    } 

Fehler in x [Indizes]: falsche Anzahl der Abmessungen

Bitte schlagen Sie mir vor, wie Sie diesen Fehler beheben können. Danke im Voraus

Antwort

0

Von Ihrem Code kann ich nicht verstehen, was x ist. Bitte überprüfen Sie die Dimension von x. Die Fehlermeldung bedeutet im Wesentlichen, dass x ein Vektor oder etwas ähnliches ist. Ich kann den Fehler unter Verwendung des folgenden Codes reproduzieren.

x <- c(1:100) 
ind <- sample(1:100, 80) 
x[ind,] 

Error in x[ind, ] : incorrect number of dimensions 

Von diesem Code können Sie verstehen, dass da x ein Vektor ist, und ich versuche, die Matrix-Operation auf sie anzuwenden, damit der Fehler.

Hoffe, das hilft.

+0

Ich konvertierte meine X in Matrix früher –

Verwandte Themen