From 517f2ce70a1af454dc58fe38e29f7a5575f50c26 Mon Sep 17 00:00:00 2001 From: dong <2938690875@qq.com> Date: Sun, 3 Nov 2024 14:55:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20function.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- function.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/function.py b/function.py index 80614f6..1c81093 100644 --- a/function.py +++ b/function.py @@ -18,7 +18,7 @@ def compute_gradient(X_batch, y_batch, weights, lambda_reg): gradient += (lambda_reg / len(y_batch)) * weights # L2正则化 return gradient -def train_logreg(X, y, learning_rate=0.001, iterations=10000, batch_size=32, lambda_reg=0.1): +def train_logreg(X, y, learning_rate=0.001, iterations=10000, batch_size=128, lambda_reg=0.1): """对率回归训练函数。""" m, n = X.shape weights = np.random.randn(n) * np.sqrt(2. / n) # He初始化 @@ -76,7 +76,7 @@ def load_data(filepath): print(f"数据加载成功,数据形状: {data.shape}, 标签形状: {target_variable.shape}") return data, target_variable -def k_fold_cross_validation(X, y, k=5, learning_rate=0.001, iterations=10000, batch_size=32, lambda_reg=0.1): +def k_fold_cross_validation(X, y, k=5, learning_rate=0.001, iterations=10000, batch_size=128, lambda_reg=0.1): """K折交叉验证。""" m = X.shape[0] fold_size = m // k @@ -127,7 +127,7 @@ if __name__ == "__main__": X_test = scaler.transform(X_test) # 使用相同的Scaler进行测试集的标准化 # 训练对率回归模型 - weights = train_logreg(X_train, y_train, learning_rate=0.01, iterations=1000) + weights = train_logreg(X_train, y_train, learning_rate=0.01, iterations=1500) # 测试单个数据 y_pred = predict_logreg(X_test[11], weights)