汽车营销决策仿真案例

简介

汽车营销决策仿真案例包含以下功能:
1、P值计算
根据所选特征列及目标列使用t检验或卡方检验,分别检验定量自变量/定性自变量与因变量的相关性是否显著
2、特征重要度计算
根据所选特征列及目标列输出特征重要性排序及直方图
3、模型训练并保存预测数据
选择模型并根据所选特征列及目标列进行训练得到预测值并保存为csv文件
4、PDP图绘制
部分依赖图(Partial Dependence Plot, PDP)用于解释机器学习模型如何预测目标变量,通过展示特定特征(或特征的组合)对模型预测的平均影响,帮助理解模型对特定输入特征的敏感性和依赖关系
根据3中保存的csv数据,通过平滑处理绘制PDP图像
5、数据处理
对原始数据进行清洗并得到用于遗传算法模型训练所用数据集
6、遗传算法正向预测及反向优化
(1)根据5中所得到的训练及测试数据,对模型进行训练,并保存模型文件
(2)通过保存的模型文件进行反向优化,通过遗传算法优化输出最优解
(3)通过保存的模型文件进行预测并将结果进行平滑处理并绘制PDP图像

使用说明

1.安装依赖库
Julia 依赖库
使用
using Pkg
Pkg.add(["DataFrames", "CSV", "XLSX", "Random", "PyCall", "Statistics", "TyPlot", "TyCurveFitting", "TyDeepLearning", "Serialization"])
安装所需依赖库
python 依赖库
使用
pip install package
安装数据处理所需的依赖库(包含pandas, numpy, matplotlib, scikit-learn, xgboost, openpyxl)

2.该项目包含6个文件夹,分别对应上述功能:
(1)文件夹Pvalue中的Pvalue&plot.jl用于P值计算及绘制直方图(分类问题class和定量问题reg)可修改以下参数:
文件路径
特征列和目标列名称
(2)文件夹feature_imp中的Importance&plot.jl用于计算特征重要性排序及绘制直方图(分类问题class和定量问题reg)可修改以下参数:
文件路径
特征列和目标列名称
模型种类(支持AdaBoost, RandomForest, GradientBoosting)
模型训练参数
(3)文件夹model_train中的Model_pred.jl用于选择模型进行训练并保存选取特征列对应的模型预测值到csv文件中(分类问题class和定量问题reg)可修改以下参数:
文件路径
特征列和目标列名称
模型种类(支持AdaBoost, RandomForest, GradientBoosting)
模型训练参数
是否保存结果
(4)文件夹plot_pdp中的PDP_plot.jl用于将(3)中保存的csv数据进行平滑处理并绘制pdp图像,可修改以下参数:
绘图特征列名称
目标列名称
(5)split_data 数据清洗.py用于将原始数据进行数据清洗并输出(6)中所需的训练数据和测试数据文件
(6)ga_optimize文件夹中的main.jl包含随机森林模型训练、遗传算法反向优化和PDP图像绘制,在main.jl中可设置的参数包含:
随机森林参数:
训练集数据路径
模型训练参数
模型文件保存路径
遗传算法反向优化参数:
x、y训练集数据路径
选取特征列上下界优化设置,特征列索引需修改Ga.jl文件optimize_sales_with_ga函数中的optimized_feature_indices,并且可以设置平均成交价avg_price,真实优惠幅度real_discount_percentage以及真实销量real_average_sales
PDP图像绘制参数:
已有模型文件路径
绘图所用特征列名称
绘图所用点数及平滑参数
(main.jl中若需单一运行一个功能,将其他的调用示例注释掉后运行main.jl即可)
3.split_data中包含遗传算法示例数据,可直接调用该数据进行反向优化;train_x_with_predictions.xlsx为功能1-4的示例数据,定量问题类型

版本说明

V0.0.1,2024-12-24 15:20

  • 初始版本
  • 目前上传了简介中1-5的功能

V0.0.2,2024-12-25 9:29

  • 更新ga_optimize内容
  • 更新split_data中遗传算法所需数据文件

V0.0.3,2024-01-14 14:39

  • 更新ga_optimize内容
  • 更新README.md内容

使用许可

本模型库版权由pingan_123版权所有,未经许可,不得用于商业用途。