diff --git a/function.py b/function.py index 3c440fe..e554bcc 100644 --- a/function.py +++ b/function.py @@ -88,27 +88,14 @@ def load_data(filepath): with open(filepath, 'r') as f: for line in f: values = line.strip().split() - # 检查是否存在 '?' 并替换为 0 或者跳过这些行 - if '?' in values: - continue - else: - # 将标签和特征转换为浮点数 - y.append(int(values[-1])) - X.append([float(x) for x in values[:-1]]) + # 检查是否存在 '?' 并替换为 0 + values = [float(x) if x != '?' else 0.0 for x in values] + + # 将标签和特征转换为浮点数 + y.append(float(values[-1])) + X.append(values[:-1]) - # 将特征数据转换为 numpy 数组 - X_array = np.array(X) - - # 计算每列的平均值,用于替换 '?' - column_means = np.mean(X_array, axis=0) - - # 替换 '?' 为每列的平均值 - for i in range(len(X)): - for j in range(len(X[i])): - if X[i][j] == '?': - X[i][j] = column_means[j] - - return np.array(X), np.array(y) + return np.array(X), np.array(y).reshape(-1, 1) if __name__ == "__main__":