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 r2_score

读取训练集数据

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)

计算R方

r2 = r2_score(y_val, model.predict(X_val)) print('准确率:', 1-r2)

将预测结果保存到DataFrame中

results = pd.DataFrame({'任务标价': y_pred.flatten()})

将结果保存到Excel文件中

results.to_excel('D:\pythonProject3\新数据\商品打包定价.xlsx', index=False)

基于神经网络模型的商品打包定价预测

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

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