DreamStream-1 commited on
Commit
0f06271
·
verified ·
1 Parent(s): 460d854

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -6
app.py CHANGED
@@ -77,19 +77,24 @@ def load_data():
77
  # Replace prognosis values with numerical categories
78
  df.replace({'prognosis': disease_dict}, inplace=True)
79
 
80
- # Check unique values in the prognosis column to capture any unmapped entries
81
  print("Unique values in prognosis after mapping:", df['prognosis'].unique())
82
 
83
- # Ensure prognosis is purely numerical after mapping
84
- df['prognosis'] = df['prognosis'].astype(int) # Convert to integer if necessary
85
-
 
 
 
 
86
  # Inference doesn't require fixing as copy=True defaults
87
  df = df.infer_objects()
88
 
89
  tr.replace({'prognosis': disease_dict}, inplace=True)
90
 
91
  # Ensure it is also numerical
92
- print("Unique values in prognosis for testing data after mapping:", tr['prognosis'].unique())
 
93
 
94
  tr['prognosis'] = tr['prognosis'].astype(int) # Convert to integer if necessary
95
  tr = tr.infer_objects()
@@ -105,7 +110,7 @@ y_test = tr['prognosis']
105
 
106
  # Encode the target variable with LabelEncoder if not already numerical
107
  le = LabelEncoder()
108
- y_encoded = le.fit_transform(y) # Needs to be string labels, assuming df['prognosis'] has no numerical labels
109
 
110
  def train_models():
111
  models = {
 
77
  # Replace prognosis values with numerical categories
78
  df.replace({'prognosis': disease_dict}, inplace=True)
79
 
80
+ # Unique values for debugging
81
  print("Unique values in prognosis after mapping:", df['prognosis'].unique())
82
 
83
+ # Before converting to integer, check if all entries are mapped correctly
84
+ if df['prognosis'].dtype == 'object': # Check if any mapping error occurred
85
+ raise ValueError(f"Prognosis contains unmapped values: {df['prognosis'].unique()}")
86
+
87
+ # Convert to integer
88
+ df['prognosis'] = df['prognosis'].astype(int)
89
+
90
  # Inference doesn't require fixing as copy=True defaults
91
  df = df.infer_objects()
92
 
93
  tr.replace({'prognosis': disease_dict}, inplace=True)
94
 
95
  # Ensure it is also numerical
96
+ if tr['prognosis'].dtype == 'object':
97
+ raise ValueError(f"Testing data prognosis contains unmapped values: {tr['prognosis'].unique()}")
98
 
99
  tr['prognosis'] = tr['prognosis'].astype(int) # Convert to integer if necessary
100
  tr = tr.infer_objects()
 
110
 
111
  # Encode the target variable with LabelEncoder if not already numerical
112
  le = LabelEncoder()
113
+ y_encoded = le.fit_transform(y) # Fits and transforms the labels
114
 
115
  def train_models():
116
  models = {