diff --git a/function.py b/function.py index 4602e0a..31ff4c8 100644 --- a/function.py +++ b/function.py @@ -85,12 +85,24 @@ def load_data(filepath): - np.array: 特征数据。 - np.array: 标签数据。 """ - data = np.loadtxt(filepath, delimiter=',') - X = data[:, :-1] - y = data[:, -1] + # 读取数据,假设数据是用空格分隔的,并且最后一列是标签 + data = [] + with open(filepath, 'r') as file: + for line in file: + # 分割行,并去除任何可能的空白字符 + parts = [part.strip() for part in line.split()] + # 将缺失值'?'替换为0(或者你可以选择其他适当的处理方式) + features = [float(part) if part != '?' else 0 for part in parts[:-1]] + # 将标签从2转换为1(如果原始标签是1和2的话) + label = int(parts[-1]) - 1 # 假设原始标签是1和2,转换为0和1 + data.append(features + [label]) - # 将标签转换为0和1)假设原始标签为1和2) - y = np.where(y == 1, 0, 1) + # 将数据转换为numpy数组 + data_array = np.array(data) + + # 分离特征和标签 + X = data_array[:, :-1] # 所有行,除了最后一列 + y = data_array[:, -1] # 所有行的最后一列 return X, y