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__": # 以下代码可用于测试,可自行随意修改 # 加载训练集