Bei großen Datenmenge wird Array als Liste behandelt

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
stef5i
User
Beiträge: 8
Registriert: Dienstag 31. März 2020, 13:47

Hallo,
Ich arbeite gerade an einem Programm für machinelles Lernen und habe mich mit gaussian processes beschäftigt. Das Programm bekommt Daten aus einer Datenbank, die mit mySQL abgefragt werden. Die Abfrage funktioniert soweit, ebenso wie das Programm bei bis zu 410 Datenpaaren (timestamp + Messwert). Sobald ich die SQL-Abfrage nun aber auf 411 oder mehr limitiere bekomme ich folgende Fehlermeldung:

y_pred, std = model.predict(test_series.reshape(-1, 1), return_std=True)
AttributeError: 'list' object has no attribute 'reshape'

Dass die reshape-Funktion bei einer Liste nicht funktioniert ist mir bewusst. Aber das seltsame ist, dass ich test_series ja von einer Liste zu einem Array (mithilfe von numpy) zuvor umwandle. Die Datenpaare habe ich schon überprüft, keine Auffälligkeiten. Und da die unlimitierte Abfrage eigentlich 13.000 Datenpaare beinhaltet, und ich den Fall von leeren Datenfelder abdecke sollten auch hierbei die meisten Probleme umgangen sein.
Kann es sein, dass es eine maximale Größe für ein Array gibt, welches man reshapen möchte? Oder denkt ihr mein Problem entsteht schon deutlich früher im Code?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dein Problem ist frueher im Code. Numpy haelt problemlos millionen von Elementen vor. Du schickst nur kein numpy array, sonder baust eine Liste.
stef5i
User
Beiträge: 8
Registriert: Dienstag 31. März 2020, 13:47

Ok vielen Dank. Das hat mir schon sehr geholfen :) Ich bin schon sehr lange auf der Suche nach meinem Fehler an dieser Stelle ^^ Habe es gefixed bekommen. Irgendwie entstand das Problem in einer for-Schleife, die die Funktion model.predict aufruft :)
Antworten