From ebffd12d0ff006c2eba1bfefa9c42c7221c3ac34 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 5 Jul 2024 21:43:00 +0800 Subject: [PATCH] liyuan --- ly.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 ly.py diff --git a/ly.py b/ly.py new file mode 100644 index 0000000..b62417c --- /dev/null +++ b/ly.py @@ -0,0 +1,38 @@ +import numpy as np + +# 假设数据集:humidity为湿度,temperature为温度 +# 这些数据应该是从实际观测中获取的 +data = np.array([ + [20, 25], # 湿度20%,温度25°C + [30, 23], # 湿度30%,温度23°C + [40, 22], # 湿度40%,温度22°C + [50, 20], # 湿度50%,温度20°C + # 更多数据... +]) + +# 分割数据集:前四分之三用于训练,后四分之一用于测试 +split_idx = int(len(data) * 0.75) +train_data, test_data = data[:split_idx], data[split_idx:] + +# 训练过程:计算斜率和截距 +X_train, y_train = train_data[:, 0], train_data[:, 1] # 分别为湿度和温度 +mean_x = np.mean(X_train) +mean_y = np.mean(y_train) +numerator = np.sum((X_train - mean_x) * (y_train - mean_y)) +denominator = np.sum((X_train - mean_x) ** 2) +slope = numerator / denominator +intercept = mean_y - slope * mean_x + +# 预测函数 +def predict(humidity): + return slope * humidity + intercept + +# 测试模型:对测试数据集进行预测,并计算预测误差的均方差作为评估 +X_test, y_test = test_data[:, 0], test_data[:, 1] +predictions = [predict(hum) for hum in X_test] +mse = np.mean((predictions - y_test) ** 2) +print(f"模型的均方误差(MSE)为: {mse}") + +# 示例:预测湿度为60%时的温度 +predicted_temp = predict(60) +print(f"预测湿度为60%时的温度为: {predicted_temp}°C") \ No newline at end of file -- Gitee