更新 function.py
Gitea Actions Test / Challenge-Actions (push) Successful in 21s

This commit is contained in:
2024-11-15 15:02:23 +08:00
parent 3745da67b0
commit 2e242af005
+9 -10
View File
@@ -86,17 +86,16 @@ def load_data(filepath):
df = pd.read_csv(filepath, sep=' ', header=None, na_values='?') # 将 '?' 视为缺失值
# 填充缺失值,这里简单用0填充,也可以根据特征的分布等采用更合理的填充方式,比如均值填充等
df.fillna(0, inplace=True)
# 获取特征数据和标签数据,确保标签符合三分类要求
# 先检查标签列是否存在除1、2、3之外的其他值,整体进行判断
unique_labels = df.iloc[:, -1].unique()
if not all(label in [1, 2, 3] for label in unique_labels):
raise ValueError("数据标签列存在不符合1、2、3三分类要求的值,请检查数据文件")
# 获取特征数据和标签数据
data = df.iloc[:, :-1].values
labels = df.iloc[:, -1].values
# 对标签数据进行合法性检查,确保是三分类要求的1、2、3
valid_labels = []
for l in labels:
if l in [1, 2, 3]:
valid_labels.append(int(l))
else:
raise ValueError(f"非法标签值 {l},数据标签应是1、2、3三分类情况")
labels = np.array(valid_labels)
labels = df.iloc[:, -1].values.astype(int)
# 选择特征23(从1开始由左向右数)作为目标变量
data = data[:, 22].reshape(-1, 1)
return data, labels