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]