这是一个基于TensorFlow的神经网络模型,用于银行营销数据预测,判断客户是否会订阅定期存款。
/workspace/ ├── neural_network_model.py # 主要的神经网络模型类 ├── test_model.py # 模型测试脚本 ├── demo.py # 模型演示脚本 ├── requirements.txt # 项目依赖 ├── data/ # 数据文件夹 │ ├── train.csv # 训练数据 │ ├── test.csv # 测试数据 │ └── val_unlabeled.csv # 验证数据(无标签) ├── training_history.png # 训练历史图表 └── confusion_matrix.png # 混淆矩阵图表
pip install -r requirements.txt
该项目使用银行营销数据集,包含以下特征:
age: 年龄job: 职业类型marital: 婚姻状况education: 教育水平default: 是否有信用卡违约balance: 账户余额housing: 是否有住房贷款loan: 是否有个人贷款contact: 联系方式day: 最后一次联系日期month: 最后一次联系月份duration: 最后一次联系时长(秒)campaign: 本次活动联系次数pdays: 距离上次联系天数previous: 之前联系次数poutcome: 之前营销结果y: 目标变量(是否订阅定期存款)神经网络模型包含以下层:
python neural_network_model.py
这将执行以下步骤:
python test_model.py
这将测试模型的基本功能和新数据预测能力。
python demo.py
这将展示如何使用训练好的模型对新客户数据进行预测。
在测试数据上的性能指标:
from neural_network_model import BankMarketingNN
# 创建模型实例
model = BankMarketingNN()
# 加载数据
model.load_data('path/to/train.csv', 'path/to/test.csv')
# 数据预处理
model.preprocess_data()
# 构建模型
model.build_model(input_dim=len(model.feature_columns))
# 训练模型
model.train_model(epochs=50, batch_size=32)
# 评估模型
accuracy, y_pred, y_pred_proba = model.evaluate_model()