by Guest » 05 Jan 2025, 15:49
Ich versuche, den GridSearchCV von sklearn.model_selection zu verwenden. Meine Daten sind eine Reihe von Klassifizierungen, die nach Zeit indiziert sind. Daher möchte ich bei der Kreuzvalidierung, dass der Trainingssatz ausschließlich aus den Daten mit der Zeit vor den Daten im Testsatz besteht.
Also mein Trainingssatz X_train, y_train sieht aus wie
Code: Select all
Time feature_1 feature_2 result
2020-01-30 3 6 1
2020-02-01 4 2 0
2021-03-02 7 1 0
und der Testsatz X_test, y_test sieht aus wie
Code: Select all
Time feature_1 feature_2 result
2023-01-30 3 6 1
2023-02-01 4 2 0
2024-03-02 7 1 0
Angenommen, ich verwende ein Modell wie xgboost, dann habe ich zur Optimierung der Hyperparameter GridSearchCV verwendet und der Code sieht so aus
Code: Select all
param_grid = {
'max_depth': [1,2,3,4,5],
'min_child_weight': [0,1,2,3,4,5],
'gamma': [0.5, 1, 1.5, 2, 5],
'colsample_bytree': [0.6, 0.8, 1.0],
}
clf = XGBClassifier(learning_rate=0.02,
n_estimators=600,
objective='binary:logistic',
silent=True,
nthread=1)
grid_search = GridSearchCV(
estimator=clf,
param_grid=param_grid,
scoring='accuracy',
n_jobs= -1)
grid_search.fit(X_train, y_train)
Aber wie soll ich den Lebenslauf in Grid_search festlegen? Vielen Dank im Voraus.
Ich versuche, den GridSearchCV von sklearn.model_selection zu verwenden. Meine Daten sind eine Reihe von Klassifizierungen, die nach Zeit indiziert sind. Daher möchte ich bei der Kreuzvalidierung, dass der Trainingssatz ausschließlich aus den Daten mit der Zeit vor den Daten im Testsatz besteht.
Also mein Trainingssatz X_train, y_train sieht aus wie
[code]Time feature_1 feature_2 result
2020-01-30 3 6 1
2020-02-01 4 2 0
2021-03-02 7 1 0
[/code]
und der Testsatz X_test, y_test sieht aus wie
[code]Time feature_1 feature_2 result
2023-01-30 3 6 1
2023-02-01 4 2 0
2024-03-02 7 1 0
[/code]
Angenommen, ich verwende ein Modell wie xgboost, dann habe ich zur Optimierung der Hyperparameter GridSearchCV verwendet und der Code sieht so aus
[code]param_grid = {
'max_depth': [1,2,3,4,5],
'min_child_weight': [0,1,2,3,4,5],
'gamma': [0.5, 1, 1.5, 2, 5],
'colsample_bytree': [0.6, 0.8, 1.0],
}
clf = XGBClassifier(learning_rate=0.02,
n_estimators=600,
objective='binary:logistic',
silent=True,
nthread=1)
grid_search = GridSearchCV(
estimator=clf,
param_grid=param_grid,
scoring='accuracy',
n_jobs= -1)
grid_search.fit(X_train, y_train)
[/code]
Aber wie soll ich den Lebenslauf in Grid_search festlegen? Vielen Dank im Voraus.