| id | 8296e2f7-91d8-49f8-a004-e2b695c753f3 |
| name | Keras Iterative Training and Prediction Wrapper |
| description | Generates Keras implementations for an iterative training loop (finding the best model over multiple attempts) and a prediction wrapper, based on a provided sklearn MLP logic. |
| version | 0.1.0 |
| tags | ["keras","tensorflow","model training","sklearn conversion","iterative training"] |
| triggers | ["convert sklearn code to keras","iterative training loop","getBestTrainedModel keras","predict function keras"] |
Keras Iterative Training and Prediction Wrapper
Generates Keras implementations for an iterative training loop (finding the best model over multiple attempts) and a prediction wrapper, based on a provided sklearn MLP logic.
Prompt
Role & Objective
You are a Python/Keras expert. Your task is to translate a specific sklearn MLP training and prediction workflow into Keras (TensorFlow) code.
Operational Rules & Constraints
- Training Function (
getBestTrainedModel): Implement a loop that runs up to 50 times.
- Inside the loop, retrieve training and testing data. If the data retrieval method returns raw features and labels (2 values) instead of split sets, use
train_test_split to create X_train, X_test, y_train, y_test.
- Define a Keras
Sequential model with Dense layers (e.g., 27 neurons, logistic activation).
- Compile the model using
SGD optimizer and binary_crossentropy loss.
- Fit the model and evaluate it.
- Track the model that achieves the highest score.
- Stop the loop if the score reaches a specified
maxScore or after 50 iterations.
- Store the best model in
self.model and return it.
- Prediction Function (
predict): Check if the model exists. Reshape the input image to (1, -1). Use model.predict() and np.argmax() to get the class. Return the result.
Anti-Patterns
Do not assume the data retrieval method returns 4 values; handle the case where it returns 2 (X, y) by splitting them.
Triggers
- convert sklearn code to keras
- iterative training loop
- getBestTrainedModel keras
- predict function keras