From ce1394eb5d1daf0d64c2d8395e2a4149eb6047a0 Mon Sep 17 00:00:00 2001 From: hao <19382120447@163.com> Date: Sat, 2 Nov 2024 13:06:42 +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 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/function.py b/function.py index 6c65625..d333be7 100644 --- a/function.py +++ b/function.py @@ -66,6 +66,8 @@ def predict_logreg(inX, weights): prediction = 1 / (1 + np.exp(-np.dot(inX, weights))) return 1 if prediction > 0.5 else 0 +import numpy as np + def load_data(filepath): """ 从文件中加载数据,若不自行正确实现,则无法通过评测,**不记录成绩**。 @@ -78,18 +80,18 @@ def load_data(filepath): - np.array: 标签数据。 """ # 读取数据,将非数值转换为NaN - data = np.genfromtxt(filepath, delimiter=',', dtype=float, missing_values='?') + data = np.genfromtxt(filepath, delimiter=' ', dtype=float, missing_values='?') # 分离特征和标签 X = data[:, :-1] y = data[:, -1] - # 将缺失值填充为列的平均值 - for i in range(X.shape[1]): - X[:, i] = np.where(np.isnan(X[:, i]), np.nanmean(X[:, i]), X[:, i]) + # 将缺失值填充为0 + X[np.isnan(X)] = 0 return X, y.astype(int) + if __name__ == "__main__": # 以下代码可用于测试,可自行随意修改 # 加载训练集