From 53df19cbda7792797fd4da6d88f41b7c9bc683cd Mon Sep 17 00:00:00 2001 From: cy <939601402@qq.com> Date: Thu, 24 Oct 2024 17:00:56 +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 | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/function.py b/function.py index bceba38..512ed4d 100644 --- a/function.py +++ b/function.py @@ -78,14 +78,26 @@ def load_data(filepath): """ data = [] labels = [] + columns = [] with open(filepath, 'r') as f: lines = f.readlines() for line in lines: line = line.strip().split() - line_data = [1] + [float(i) for i in line[:-1]] + if not columns: + columns = line[:-1] + line_data = [1] + [float(x) if x!= '?' else 0 for x in line[:-1]] data.append(line_data) labels.append(int(line[-1])) - return np.array(data), np.array(labels) + + data = np.array(data) + for i in range(1, data.shape[1]): + col = data[:, i] + valid_values = col[col!= 0] + if len(valid_values) > 0: + mean_value = np.mean(valid_values) + data[col == 0, i] = mean_value + + return data, np.array(labels) if __name__ == "__main__": # 以下代码可用于测试,可自行随意修改