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

This commit is contained in:
2024-11-05 20:02:46 +08:00
parent 83216f1f72
commit 100859f9b2
+22 -4
View File
@@ -31,7 +31,7 @@ name = "杨文强"
# 1. 数据加载函数
def load_data(filepath):
"""
从文件中加载数据,返回特征和标签。
从文件中加载数据,处理缺失值 '?' 为 NaN,并将其替换为列的均值或其他方法。
Args:
- filepath (str): 数据文件路径。
@@ -40,9 +40,27 @@ def load_data(filepath):
- np.array: 特征数据。
- np.array: 标签数据。
"""
data = np.loadtxt(filepath, delimiter=' ') # 读取空格分隔的文件
X = data[:, :-1] # 特征数据,去掉最后一列
y = data[:, -1] # 标签数据,最后一列是标签
# 读取数据,使用 `?` 替换为 np.nan
data = np.genfromtxt(filepath, delimiter=' ', dtype=str) # 读取为字符串类型
data[data == '?'] = np.nan # 将 '?' 替换为 NaN
# 将数据转换为浮动类型
data = data.astype(float)
# 处理缺失值:用列的均值替换缺失值
# 计算每列的均值(跳过 NaN)
col_means = np.nanmean(data, axis=0)
# 用列均值填充 NaN 值
# np.where 检查哪里是 NaN,并用对应列的均值替换
inds = np.where(np.isnan(data))
data[inds] = np.take(col_means, inds[1])
# 特征数据:去掉最后一列
X = data[:, :-1]
# 标签数据:最后一列是标签
y = data[:, -1]
return X, y
# 2. 训练对率回归模型的函数