diff --git a/function.py b/function.py index d0d7130..850646c 100644 --- a/function.py +++ b/function.py @@ -54,25 +54,24 @@ def predict_logreg(model, scaler, inX): inX_scaled = scaler.transform(inX.reshape(1, -1)) # 标准化输入数据 return model.predict(inX_scaled)[0] -if __name__ == "__main__": - # 示例:加载数据并训练模型 - X_train, y_train = load_data("./data/horse-colic.data") - model, scaler = train_logreg(X_train, y_train) - - # 测试单个数据 - X_test, y_test = load_data("./data/horse-colic.test") - y_pred = predict_logreg(model, scaler, X_test[11]) +if __name__ == "__main__": + # 加载训练集 + X_train, y_train = load_data("./data/horse-colic.data") + # 数据标准化 + scaler = StandardScaler() + X_train = scaler.fit_transform(X_train) + + # 训练逻辑回归模型 + model, _ = train_logreg(X_train, y_train) # 只需要模型和缩放器 + + # 测试单个数据 + X_test, y_test = load_data("./data/horse-colic.test") + X_test = scaler.transform(X_test) # 同样标准化测试集 + + # 进行预测 + y_pred = predict_logreg(model, scaler, X_test[11]) # 传递模型和缩放器 + print(f"预测结果: {y_pred}, 实际结果: {y_test[11]}") - - # 训练逻辑回归模型 - weights = train_logreg(X_train, y_train, learning_rate=0.001, iterations=5000) - - # 测试单个数据 - X_test, y_test = load_data("./data/horse-colic.test") - X_test = scaler.transform(X_test) # 同样标准化测试集 - y_pred = predict_logreg(X_test[11], weights) - print(f"预测结果: {y_pred}, 实际结果: {y_test[11]}") -