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

This commit is contained in:
2024-10-30 10:40:00 +08:00
parent bfef57c461
commit 3bc2260d58
+8 -11
View File
@@ -25,6 +25,7 @@ id = "202210423222"
name = "邓龙树" name = "邓龙树"
import numpy as np import numpy as np
import pandas as pd
def sigmoid(z): def sigmoid(z):
"""计算sigmoid函数""" """计算sigmoid函数"""
@@ -78,15 +79,15 @@ def load_data(filepath):
- np.array: 特征数据。 - np.array: 特征数据。
- np.array: 标签数据。 - np.array: 标签数据。
""" """
# 使用dtype=str先将所有数据加载为字符串 # 使用pandas读取数据,处理不规则行
data = np.loadtxt(filepath, delimiter=' ', dtype=str) data = pd.read_csv(filepath, delim_whitespace=True, header=None, na_values='?')
# 替换'?'为np.nan,并转换为浮点数 # 替换缺失值为列的均值
data[data == '?'] = np.nan data.fillna(data.mean(), inplace=True)
data = data.astype(float)
X = data[:, :-1] # 假设最后一列是标签 # 将数据转换为numpy数组
y = data[:, -1] X = data.iloc[:, :-1].values # 特征数据
y = data.iloc[:, -1].values # 标签数据
return X, y return X, y
if __name__ == "__main__": if __name__ == "__main__":
@@ -96,10 +97,6 @@ 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)