From e4187092ccf14f0460802f74f2363d69a1add827 Mon Sep 17 00:00:00 2001 From: luderby <2339127037@qq.com> Date: Tue, 5 Nov 2024 19:09:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20function.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- function.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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):