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

This commit is contained in:
2024-10-31 11:47:00 +08:00
parent d8c6246bd9
commit f9ba711501
+18 -17
View File
@@ -72,33 +72,34 @@ def predict_logreg(inX, weights):
# 这里也写自己的代码实现 # 这里也写自己的代码实现
def load_data(filepath): def load_data(filepath):
"""
从文件中加载数据,若不自行正确实现,则无法通过评测,**不记录成绩**。
Args:
- directory (str): 数据文件路径。
Returns:
- np.array: 特征数据。
- np.array: 标签数据。
"""
data = [] data = []
labels = [] labels = []
with open(filepath, 'r') as f: with open(filepath, 'r') as f:
for line in f: for line in f:
# 替换缺失值标识符,并将其分割为列表 values = line.strip().replace('?', '0').split()
values = line.strip().replace('?', '0').split() # 这里将 ? 替换为 0
# 转换为 float,注意这里需要处理转换异常
try: try:
values = [float(v) for v in values] # 转换为 float values = [float(v) for v in values]
data.append(values[:-1]) # 特征数据 data.append(values[:-1])
labels.append(values[-1]) # 标签数据 labels.append(values[-1])
except ValueError: except ValueError:
continue # 跳过无法转换的行 continue
return np.array(data), np.array(labels) return np.array(data), np.array(labels)
def preprocess_data(filepath):
# 加载数据
X, y = load_data(filepath)
# 特征缩放
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 拆分数据集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
return X_train, X_test, y_train, y_test
if __name__ == "__main__": if __name__ == "__main__":
# 以下代码可用于测试,可自行随意修改 # 以下代码可用于测试,可自行随意修改
# 加载训练集 # 加载训练集