diff --git a/function.py b/function.py index 4d38168..3759c1a 100644 --- a/function.py +++ b/function.py @@ -117,20 +117,19 @@ def load_data(filepath): data = [line.strip().split() for line in lines] data = [list(map(lambda x: float(x) if x != '?' else np.nan, row)) for row in data] - # 处理缺失值,这里简单用平均值填充 - for i in range(len(data[0])): - mean_val = np.nanmean([row[i] for row in data if not np.isnan(row[i])]) - for row in data: + # 使用“0”填充缺失值 + for row in data: + for i in range(len(row)): if np.isnan(row[i]): - row[i] = mean_val + row[i] = 0.0 # 合并特征23的值2和3为0 for row in data: - if row[22] == 2 or row == 3: # 假设特征23是第23个元素(索引为22) + if row[22] == 2 or row == 3: # 假设特征23是第23个元素 row[22] = 0 # 移除不需要的特征 - # 假设特征从0开始编号,那么我们需要移除特征3(索引为2)和特征24~28(索引为23~27) + # 假设特征从0开始编号,那么我们需要移除特征3(索引为2)和特征24~28 data = [row[:2] + row[3:23] + row[28:] for row in data] # 分离特征和标签