diff --git a/function.py b/function.py index 92c3b6f..9861331 100644 --- a/function.py +++ b/function.py @@ -55,9 +55,18 @@ def predict_logreg(inX, weights): # 从文件中加载数据 def load_data(filepath): data = pd.read_csv(filepath, header=None, na_values='?', delim_whitespace=True) - data.fillna(0, inplace=True) - X = data.iloc[:, :-1].to_numpy() # 特征 - y = data.iloc[:, -1].to_numpy() # 标签 + for col in data.columns: + if pd.api.types.is_numeric_dtype(data[col]): + data[col].fillna(data[col].median(), inplace=True) + else: # 处理非数值列,例如用众数填充或其他策略 + data[col].fillna(data[col].mode()[0], inplace=True) + + X = data.iloc[:, :-1].to_numpy() + y = data.iloc[:, -1].to_numpy() + + scaler = MinMaxScaler() + X = scaler.fit_transform(X) # 缩放特征 + return X, y # 准确率计算函数 def calculate_accuracy(X, y, weights):