import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
import matplotlib.pyplot as plt
from sklearn.metrics import mean_squared_error

# 读取训练集数据
train_data = pd.read_excel('D:\pythonProject3\商品信息\附件一:已结束项目任务数据 - 副本.xlsx')

# 提取特征和目标变量
X = train_data[['商品GPS纬度', '商品GPS经度']].values
y = train_data['任务标价'].values

# 数据归一化
scaler = MinMaxScaler()
X = scaler.fit_transform(X)

# 划分训练集和验证集
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=42)

# 构建神经网络模型
model = Sequential()
model.add(Dense(32, activation='relu', input_shape=(2,)))
model.add(Dense(32, activation='relu'))
model.add(Dense(1))

# 编译模型
model.compile(optimizer='adam', loss='mse')

# 训练模型
history = model.fit(X_train, y_train, validation_data=(X_val, y_val), epochs=100, batch_size=32)

# 可视化训练过程
plt.plot(history.history['loss'], label='train_loss')
plt.plot(history.history['val_loss'], label='val_loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
plt.show()

# 读取测试集数据
test_data = pd.read_excel('D:\pythonProject3\商品信息\任务.xlsx')

# 提取特征并进行归一化
X_test = test_data[['商品GPS纬度', '商品GPS经度']].values
X_test = scaler.transform(X_test)

# 预测任务标价
y_pred = model.predict(X_test)

# 计算预测的精确度(均方根误差)
mse = mean_squared_error(y_val, model.predict(X_val))
rmse = np.sqrt(mse)
print('模型的均方根误差(RMSE)为:', rmse)
基于TensorFlow和地理位置的任务标价预测模型

原文地址: https://www.cveoy.top/t/topic/fAyq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录