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

This commit is contained in:
2024-10-30 10:45:02 +08:00
parent 3bc2260d58
commit 22aaa82ac1
+11 -8
View File
@@ -25,7 +25,6 @@ id = "202210423222"
name = "邓龙树" name = "邓龙树"
import numpy as np import numpy as np
import pandas as pd
def sigmoid(z): def sigmoid(z):
"""计算sigmoid函数""" """计算sigmoid函数"""
@@ -79,15 +78,15 @@ def load_data(filepath):
- np.array: 特征数据。 - np.array: 特征数据。
- np.array: 标签数据。 - np.array: 标签数据。
""" """
# 使用pandas读取数据,处理不规则行 # 使用dtype=str先将所有数据加载为字符串
data = pd.read_csv(filepath, delim_whitespace=True, header=None, na_values='?') data = np.loadtxt(filepath, delimiter=' ', dtype=str)
# 替换缺失值为列的均值 # 替换'?'为np.nan,并转换为浮点数
data.fillna(data.mean(), inplace=True) data[data == '?'] = np.nan
data = data.astype(float)
# 将数据转换为numpy数组 X = data[:, :-1] # 假设最后一列是标签
X = data.iloc[:, :-1].values # 特征数据 y = data[:, -1]
y = data.iloc[:, -1].values # 标签数据
return X, y return X, y
if __name__ == "__main__": if __name__ == "__main__":
@@ -97,6 +96,10 @@ if __name__ == "__main__":
# 加载测试集 # 加载测试集
X_test, y_test = load_data("./data/horse-colic.test") X_test, y_test = load_data("./data/horse-colic.test")
# 处理缺失值,例如用列的均值替代
X_train = np.nan_to_num(X_train, nan=np.nanmean(X_train, axis=0))
X_test = np.nan_to_num(X_test, nan=np.nanmean(X_train, axis=0)) # 用训练集的均值替代测试集
# 确保标签为浮点型 # 确保标签为浮点型
y_train = y_train.astype(float) y_train = y_train.astype(float)
y_test = y_test.astype(float) y_test = y_test.astype(float)