diff --git a/01.train_ODC_CNN.ipynb b/01.train_ODC_CNN.ipynb index 3d3fb66..05b0195 100644 --- a/01.train_ODC_CNN.ipynb +++ b/01.train_ODC_CNN.ipynb @@ -2911,12 +2911,21 @@ "# Import CNN model\n", "from cnn_model import CNNTrainer, reshape_for_cnn\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", "# Reshape data for CNN (n_samples, 39) -> (n_samples, 3, 13)\n", "print(\"🔄 Reshaping data for CNN...\")\n", - "X_train_cnn = reshape_for_cnn(X_train.values)\n", - "X_val_cnn = reshape_for_cnn(X_val.values)\n", - "X_test_cnn = reshape_for_cnn(X_test.values)\n", + "X_train_cnn = reshape_for_cnn(X_train_np)\n", + "X_val_cnn = reshape_for_cnn(X_val_np)\n", + "X_test_cnn = reshape_for_cnn(X_test_np)\n", "\n", "print(f\" Train shape: {X_train_cnn.shape}\")\n", "print(f\" Val shape: {X_val_cnn.shape}\")\n", @@ -2948,8 +2957,8 @@ "\n", "# Train model\n", "trainer.fit(\n", - " X_train_cnn, y_train.values,\n", - " X_val_cnn, y_val.values,\n", + " X_train_cnn, y_train_np,\n", + " X_val_cnn, y_val_np,\n", " epochs=50,\n", " batch_size=32,\n", " verbose=True\n", @@ -2979,7 +2988,7 @@ "%%time\n", "# Evaluate on test data\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", "# Plot confusion matrix\n", "from sklearn.metrics import ConfusionMatrixDisplay\n",