From 803491f9e01bd307f01acc76c8755e0a511e0d13 Mon Sep 17 00:00:00 2001 From: hao <19382120447@163.com> Date: Thu, 31 Oct 2024 17:18:55 +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 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/function.py b/function.py index 03d369d..0bfab28 100644 --- a/function.py +++ b/function.py @@ -61,6 +61,7 @@ def predict_logreg(inX, weights): return 1 if y_predicted > 0.5 else 0 # 这里也写自己的代码实现 + def load_data(filepath): """ 从文件中加载数据,若不自行正确实现,则无法通过评测,**不记录成绩**。 @@ -73,10 +74,16 @@ def load_data(filepath): - np.array: 标签数据。 """ # 使用numpy的genfromtxt函数加载数据,假设逗号为分隔符 - data = np.genfromtxt(filepath, delimiter=',', dtype=float, filling_values=np.nan) + # 这里使用dtype=None允许numpy自动推断数据类型,filling_values=None允许缺失值存在 + data = np.genfromtxt(filepath, delimiter=',', dtype=None, filling_values=np.nan) + + # 检查data是否为一维数组,如果是,则将其转换为二维数组 + if data.ndim == 1: + data = data.reshape(1, -1) # 删除包含NaN的行 - data = data[~np.isnan(data).any(axis=1)] + mask = ~np.isnan(data).any(axis=1) + data = data[mask] # 将数据转换为numpy数组 X = data[:, :-1]