ich komme leider bei einem Projekt nicht weiter und bräuchte daher nochmal eure Hilfe.
Die Aufgabe ist, eine 10Fold Kreuzvalidierung für eine Zeitreihe zu erstellen, bei der 90% der Daten fürs Training und die letzten 10% fürs Testen verwendet werden. Für das Testset soll dann der mittlerer quadratischer Vorhersagefehler (RMSE) berechnet werden.
Nach mehreren Versuchen und Recherche bin ich zu dieser Lösung gekommen:
Code: Alles auswählen
tscv = TimeSeriesSplit(n_splits=10)
print(tscv)
X = mergedf['AnzahlTweets']
y = mergedf['Kurs']
for train_index, test_index in tscv.split(X):
print("TRAIN:", train_index, "TEST:", test_index)
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
linreg=LinearRegression()
linreg.fit(X_train,y_train)
y_pred=linreg.predict(X_test)
print('RMSE:',np.sqrt(metrics.mean_squared_error(y_test, y_pred)))
Außerdem frage ich mich, wieso X_train, X_test, y_train, y_test zu 'NaN' werden. So bekomme ich immer die Fehlermeldung 'ValueError: Input contains NaN, infinity or a value too large for dtype('float64').'
Ich hoffe, jemand kann mir helfen. Danke schon mal!