33 lines
955 B
Python
33 lines
955 B
Python
# Hyperparameter-Grid definieren
|
|
param_grid = {
|
|
'n_estimators': [50, 100],
|
|
'max_depth': [None, 10, 20],
|
|
'min_samples_split': [2, 5],
|
|
'min_samples_leaf': [1, 2]
|
|
}
|
|
|
|
# GridSearchCV
|
|
grid_search = GridSearchCV(RandomForestClassifier(random_state=42), param_grid, cv=3, scoring='accuracy')
|
|
grid_search.fit(X_train, y_train)
|
|
|
|
# Beste Parameter
|
|
print("Beste Parameter:")
|
|
print(grid_search.best_params_)
|
|
|
|
# Bestes Modell
|
|
best_rf_model = grid_search.best_estimator_
|
|
|
|
# Vorhersagen mit dem besten Modell
|
|
y_pred_best = best_rf_model.predict(X_test)
|
|
|
|
# Modellleistung evaluieren
|
|
accuracy_best = accuracy_score(y_test, y_pred_best)
|
|
precision_best = precision_score(y_test, y_pred_best)
|
|
recall_best = recall_score(y_test, y_pred_best)
|
|
f1_best = f1_score(y_test, y_pred_best)
|
|
|
|
print(f"\nBestes Modell:")
|
|
print(f"Accuracy: {accuracy_best:.4f}")
|
|
print(f"Precision: {precision_best:.4f}")
|
|
print(f"Recall: {recall_best:.4f}")
|
|
print(f"F1 Score: {f1_best:.4f}") |