ValueError: x en y moeten dezelfde grootte hebben

Ik heb hulp nodig bij het begrijpen van de fout bij het uitvoeren van de bovenstaande code. Hieronder staat de fout:

“raise ValueError(“x en y moeten even groot zijn”)”

Ik heb een .csv-bestand met 1398 rijen en 2 kolommen. Ik heb 40% genomen als y_test set, zoals zichtbaar is in de bovenstaande code.


Antwoord 1, autoriteit 100%

Druk X_train-vorm af. Wat zie je? Ik wed dat X_train2d is (matrix met een enkele kolom), terwijl y_train1d (vector) is. Op zijn beurt krijg je verschillende maten.

Ik denk dat het gebruik van X_train[:,0]voor het plotten (waar de fout vandaan komt) het probleem zou moeten oplossen


Antwoord 2, autoriteit 19%

Snijden met [:, :-1]geeft je een 2-dimensionalearray (inclusief alle rijen en alle kolommen behalve de laatste kolom).

Snijden met [:, 1]geeft je een 1-dimensionalearray (inclusief alle rijen uit de tweede kolom). Om deze array ook 2-dimensionaal te maken, gebruikt u [:, 1:2]of [:, 1].reshape(-1, 1)of [:, 1][:, None]in plaats van [:, 1]. Dit maakt xen yvergelijkbaar.


Een alternatief voor het tweedimensionaal maken van beide arrays is ze beide eendimensionaal te maken. Hiervoor zou men [:, 0](in plaats van [:, :1]) doen voor het selecteren van de eerste kolom en [:, 1]voor het selecteren van de tweede kolom.


Antwoord 3, autoriteit 8%

Probeer dit:

x_train=np.arange(0,len(x_train),1)

Het maakt een gelijkmatig verdeelde arrayen je erroris definitief verdwenen.


Antwoord 4

In mijn geval was het probleem dat de grootte van test_size afweek van het bereik van de spreidingsplot. Het bereik moet hetzelfde zijn als de test_size (40% in uw code) van de totale waarneming. Hier moet u het bereik van uw spreidingsplot instellen op 40% van de totale waarnemingen die u in uw model verwerkt.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes