ValueError: Falsche Anzahl der übergebenen Elemente - Bedeutung und Vorschläge?

9

Ich erhalte den Fehler: ValueError: Wrong number of items passed 3, placement implies 1 , und ich kämpfe um herauszufinden, wo und wie ich das Problem angehen könnte.

Ich verstehe die Bedeutung des Fehlers nicht wirklich; was es für mich schwierig macht, Fehler zu beheben. Ich habe auch den Code-Block eingefügt, der den Fehler in meinem Jupyter Notebook auslöst.

Die Daten sind schwer anzubringen; also suche ich niemanden, der versucht, diesen Fehler für mich neu zu erstellen. Ich bin nur auf der Suche nach Feedback, wie ich diesen Fehler beheben könnte.

%Vor%

Mein Code ist wie folgt:

%Vor%     
Gary 04.04.2017, 01:35
quelle

1 Antwort

10

Im Allgemeinen deutet der Fehler ValueError: Wrong number of items passed 3, placement implies 1 darauf hin, dass Sie versuchen, zu viele Tauben in zu wenige Fächer zu legen. In diesem Fall ist der Wert auf der rechten Seite der Gleichung

results['predictedY'] = predictedY

versucht, 3 "Dinge" in einen Container zu legen, der nur einen erlaubt. Da die linke Seite eine Datenrahmenspalte ist und mehrere Elemente in dieser (Spalten-) Dimension akzeptieren kann, sollten Sie feststellen, dass zu viele Elemente in einer anderen Dimension vorhanden sind.

Hier scheint es, dass Sie sklearn für die Modellierung verwenden, wo gaussian_process.GaussianProcess() herkommt (ich schätze, aber korrigiere mich und überarbeite die Frage, ob das falsch ist).

Sie erzeugen nun vorhergesagte Werte für y :

predictedY, MSE = gp.predict(testX, eval_MSE = True)

Wie wir jedoch aus der Dokumentation sehen können Für GaussianProcess gibt predict() zwei Elemente zurück. Der erste ist y , der array-like ist (Hervorhebung meins). Das bedeutet, dass es mehr als eine Dimension haben kann, oder, um für dickköpfige Menschen wie mich konkret zu sein, kann es mehr als eine Spalte haben - siehe, dass es (n_samples, n_targets) zurückgeben kann, was abhängig von testX sein könnte (1000, 3) (nur um Zahlen auszuwählen). Daher könnte Ihr predictedY 3 Spalten haben.

Wenn dies der Fall ist, wenn Sie versuchen, etwas mit drei "Spalten" in eine einzelne Datenspaltenspalte einzufügen, übergeben Sie 3 Elemente, wobei nur 1 passen würde.

    
Savage Henry 04.04.2017, 19:39
quelle