From 009e21380e3a1ee6fc853567f2b12a21fd3ac475 Mon Sep 17 00:00:00 2001 From: Anil Sorathiya Date: Thu, 19 Jun 2025 15:47:44 +0100 Subject: [PATCH] Mutual information takes only numerical data --- .../tests/data_validation/MutualInformation.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/validmind/tests/data_validation/MutualInformation.py b/validmind/tests/data_validation/MutualInformation.py index 03a2d259c..148257dd7 100644 --- a/validmind/tests/data_validation/MutualInformation.py +++ b/validmind/tests/data_validation/MutualInformation.py @@ -68,8 +68,20 @@ def MutualInformation( if task not in ["classification", "regression"]: raise ValueError("task must be either 'classification' or 'regression'") - X = dataset.x - y = dataset.y + # Check if numeric features exist + if not dataset.feature_columns_numeric: + raise ValueError( + "No numeric features found in dataset. Mutual Information test requires numeric features." + ) + + # Check if target column exists + if not dataset.target_column: + raise ValueError( + "Target column is required for Mutual Information calculation but was not provided." + ) + + X = dataset._df[dataset.feature_columns_numeric] + y = dataset._df[dataset.target_column] # Select appropriate MI function based on task type if task == "classification":