# 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}")