1.9 KiB
1.9 KiB
开源项目贡献者流失预测系统
项目结构
contributor_churn_prediction/
│
├── data/
│ ├── linux_commits.csv
│ └── rust_commits.csv
│
├── src/
│ ├── data_preprocessing.py
│ ├── feature_engineering.py
│ ├── model.py
│ ├── train.py
│ └── predict.py
│
├── requirements.txt
├── README_V2.md
└── main.py
环境配置
-
确保您的系统已安装 Python 3.8+ 和 CUDA 11.2。
-
创建并激活虚拟环境:
python -m venv churn_env source churn_env/bin/activate # Linux/macOS churn_env\Scripts\activate # Windows -
安装依赖:
pip install -r requirements.txt -
安装额外的系统依赖:
sudo apt-get update sudo apt-get install -y libpq-dev build-essential -
配置环境变量:
export PYTHONPATH="${PYTHONPATH}:/path/to/contributor_churn_prediction" export DATA_DIR="/path/to/data" export MODEL_CACHE="/path/to/model_cache"
运行代码
-
数据预处理:
python src/data_preprocessing.py --input-dir $DATA_DIR --output-dir $DATA_DIR/processed -
特征工程:
python src/feature_engineering.py --input-dir $DATA_DIR/processed --output-dir $DATA_DIR/features -
模型训练:
python src/train.py --data-dir $DATA_DIR/features --model-dir $MODEL_CACHE --epochs 200 --batch-size 64 --learning-rate 0.0005 -
预测:
python src/predict.py --model-dir $MODEL_CACHE --data-dir $DATA_DIR/features --output-dir results -
生成报告:
jupyter nbconvert --to notebook --execute notebooks/exploratory_data_analysis.ipynb --output-dir reports
注意:为确保结果的可重现性,请设置随机种子:
python
import numpy as np
import tensorflow as tf
import random
SEED = 42
random.seed(SEED)
np.random.seed(SEED)
tf.random.set_seed(SEED)