update 02

This commit is contained in:
Victor Phan
2025-11-12 21:55:06 +07:00
parent 82e8107c8d
commit 3cbc145cc6
+15 -6
View File
@@ -2911,12 +2911,21 @@
"# Import CNN model\n", "# Import CNN model\n",
"from cnn_model import CNNTrainer, reshape_for_cnn\n", "from cnn_model import CNNTrainer, reshape_for_cnn\n",
"import torch\n", "import torch\n",
"import numpy as np\n",
"\n",
"# Convert to numpy arrays if they're lists\n",
"X_train_np = np.array(X_train) if isinstance(X_train, list) else X_train.values\n",
"X_val_np = np.array(X_val) if isinstance(X_val, list) else X_val.values\n",
"X_test_np = np.array(X_test) if isinstance(X_test, list) else X_test.values\n",
"y_train_np = np.array(y_train) if isinstance(y_train, list) else y_train.values\n",
"y_val_np = np.array(y_val) if isinstance(y_val, list) else y_val.values\n",
"y_test_np = np.array(y_test) if isinstance(y_test, list) else y_test.values\n",
"\n", "\n",
"# Reshape data for CNN (n_samples, 39) -> (n_samples, 3, 13)\n", "# Reshape data for CNN (n_samples, 39) -> (n_samples, 3, 13)\n",
"print(\"🔄 Reshaping data for CNN...\")\n", "print(\"🔄 Reshaping data for CNN...\")\n",
"X_train_cnn = reshape_for_cnn(X_train.values)\n", "X_train_cnn = reshape_for_cnn(X_train_np)\n",
"X_val_cnn = reshape_for_cnn(X_val.values)\n", "X_val_cnn = reshape_for_cnn(X_val_np)\n",
"X_test_cnn = reshape_for_cnn(X_test.values)\n", "X_test_cnn = reshape_for_cnn(X_test_np)\n",
"\n", "\n",
"print(f\" Train shape: {X_train_cnn.shape}\")\n", "print(f\" Train shape: {X_train_cnn.shape}\")\n",
"print(f\" Val shape: {X_val_cnn.shape}\")\n", "print(f\" Val shape: {X_val_cnn.shape}\")\n",
@@ -2948,8 +2957,8 @@
"\n", "\n",
"# Train model\n", "# Train model\n",
"trainer.fit(\n", "trainer.fit(\n",
" X_train_cnn, y_train.values,\n", " X_train_cnn, y_train_np,\n",
" X_val_cnn, y_val.values,\n", " X_val_cnn, y_val_np,\n",
" epochs=50,\n", " epochs=50,\n",
" batch_size=32,\n", " batch_size=32,\n",
" verbose=True\n", " verbose=True\n",
@@ -2979,7 +2988,7 @@
"%%time\n", "%%time\n",
"# Evaluate on test data\n", "# Evaluate on test data\n",
"print(\"📊 Evaluating CNN model on test set...\\n\")\n", "print(\"📊 Evaluating CNN model on test set...\\n\")\n",
"results = trainer.evaluate(X_test_cnn, y_test.values)\n", "results = trainer.evaluate(X_test_cnn, y_test_np)\n",
"\n", "\n",
"# Plot confusion matrix\n", "# Plot confusion matrix\n",
"from sklearn.metrics import ConfusionMatrixDisplay\n", "from sklearn.metrics import ConfusionMatrixDisplay\n",