generated from LufsX/Experiment-LogReg
This commit is contained in:
+6
-19
@@ -88,27 +88,14 @@ def load_data(filepath):
|
|||||||
with open(filepath, 'r') as f:
|
with open(filepath, 'r') as f:
|
||||||
for line in f:
|
for line in f:
|
||||||
values = line.strip().split()
|
values = line.strip().split()
|
||||||
# 检查是否存在 '?' 并替换为 0 或者跳过这些行
|
# 检查是否存在 '?' 并替换为 0
|
||||||
if '?' in values:
|
values = [float(x) if x != '?' else 0.0 for x in values]
|
||||||
continue
|
|
||||||
else:
|
|
||||||
# 将标签和特征转换为浮点数
|
|
||||||
y.append(int(values[-1]))
|
|
||||||
X.append([float(x) for x in values[:-1]])
|
|
||||||
|
|
||||||
# 将特征数据转换为 numpy 数组
|
# 将标签和特征转换为浮点数
|
||||||
X_array = np.array(X)
|
y.append(float(values[-1]))
|
||||||
|
X.append(values[:-1])
|
||||||
|
|
||||||
# 计算每列的平均值,用于替换 '?'
|
return np.array(X), np.array(y).reshape(-1, 1)
|
||||||
column_means = np.mean(X_array, axis=0)
|
|
||||||
|
|
||||||
# 替换 '?' 为每列的平均值
|
|
||||||
for i in range(len(X)):
|
|
||||||
for j in range(len(X[i])):
|
|
||||||
if X[i][j] == '?':
|
|
||||||
X[i][j] = column_means[j]
|
|
||||||
|
|
||||||
return np.array(X), np.array(y)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user