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

This commit is contained in:
2024-11-05 18:55:42 +08:00
parent e481f86201
commit 9148b0c06e
+30 -12
View File
@@ -5,23 +5,41 @@ id = "202210423223"
name = "李顺潮" name = "李顺潮"
def load_data(filepath): def load_data(filepath):
data = pd.read_table(filepath, header=None, sep=' ') """
data.replace('?', np.nan, inplace=True) 从文件中加载数据,处理缺失值和数据类型。
# Identify numeric columns Args:
numeric_cols = data.select_dtypes(include=np.number).columns filepath (str): 数据文件路径。
# Fill numeric missing values with median Returns:
for col in numeric_cols: tuple: 特征数据 (np.array) 和标签数据 (np.array)。 返回None如果加载失败。
data[col].fillna(data[col].median(), inplace=True) """
try:
# 使用正则表达式作为分隔符,更灵活地处理多个空格
data = pd.read_csv(filepath, header=None, delim_whitespace=True)
# Drop rows with non-numeric values in any column (a more strict approach) # 替换问号为 NaN
data.dropna(subset=numeric_cols, inplace=True) data.replace('?', np.nan, inplace=True)
# 填充数值型缺失值,这里使用中位数填充
numeric_cols = data.select_dtypes(include=np.number).columns
for col in numeric_cols:
data[col].fillna(data[col].median(), inplace=True)
# 删除包含非数值型缺失值的列 (如果存在)
data.dropna(inplace=True)
X = data.iloc[:, :-1].values.astype(float) # 假设最后一列是标签,其余是特征
y = data.iloc[:, -1].values.astype(float) X = data.iloc[:, :-1].values.astype(float)
return X, y y = data.iloc[:, -1].values.astype(float)
return X, y
except pd.errors.ParserError as e:
print(f"数据加载错误: {e}")
return None
except Exception as e:
print(f"发生未知错误: {e}")
return None
def sigmoid(z): def sigmoid(z):
""" """