python
import tensorflow as tf
from sklearn.preprocessing import MinMaxScaler
from sklearn.model_selection import train_test_split
data = tf.keras.datasets.mnist.load_data()
(X_train, y_train), (X_test, y_test) = data
scaler = MinMaxScaler(feature_range=(0, 1))
X_train_scaled = scaler.fit_transform(X_train.reshape(-1, 28 * 28))
X_test_scaled = scaler.transform(X_test.reshape(-1, 28 * 28))
X_train_final, X_val, y_train_final, y_val = train_test_split(X_train_scaled, y_train, test_size=0.2, random_state=42)