2311020116_CreditCardFraudD.../install.sh

97 lines
2.9 KiB
Bash
Raw Normal View History

#!/bin/bash
set -e
echo "============================================================"
echo "信用卡欺诈检测系统 - 一键安装脚本"
echo "============================================================"
echo ""
# 检查Python是否安装
if ! command -v python3 &> /dev/null; then
echo "[错误] 未检测到Python请先安装Python 3.10或更高版本"
echo "Ubuntu/Debian: sudo apt-get install python3 python3-pip"
echo "CentOS/RHEL: sudo yum install python3 python3-pip"
echo "macOS: brew install python3"
exit 1
fi
echo "[步骤 1/5] 检查Python版本..."
PYTHON_VERSION=$(python3 --version 2>&1 | awk '{print $2}')
echo "Python版本: $PYTHON_VERSION"
echo ""
# 检查Python版本是否满足要求
PYTHON_MAJOR=$(echo $PYTHON_VERSION | cut -d. -f1)
PYTHON_MINOR=$(echo $PYTHON_VERSION | cut -d. -f2)
if [ "$PYTHON_MAJOR" -lt 3 ] || ([ "$PYTHON_MAJOR" -eq 3 ] && [ "$PYTHON_MINOR" -lt 10 ]); then
echo "[错误] Python版本过低需要3.10或更高版本"
exit 1
fi
echo "[步骤 2/5] 安装Python依赖..."
echo "正在安装依赖包,这可能需要几分钟..."
pip3 install -r requirements.txt
if [ $? -ne 0 ]; then
echo "[错误] 依赖安装失败"
echo "请检查网络连接或尝试使用国内镜像源:"
echo "pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple"
exit 1
fi
echo "依赖安装完成"
echo ""
echo "[步骤 3/5] 检查数据文件..."
if [ ! -f "data/creditcard.csv" ]; then
echo "[警告] 未找到数据文件 data/creditcard.csv"
echo ""
echo "请从以下地址下载数据集:"
echo "https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud"
echo ""
echo "下载后将 creditcard.csv 文件放入 data/ 目录"
echo ""
read -p "数据文件已准备好吗?(Y/N): " DATA_READY
if [[ ! "$DATA_READY" =~ ^[Yy]$ ]]; then
echo "安装已取消"
exit 1
fi
else
echo "数据文件已存在"
fi
echo ""
echo "[步骤 4/5] 检查模型文件..."
if [ ! -f "models/random_forest_model.joblib" ]; then
echo "模型文件不存在,开始训练模型..."
echo "这可能需要几分钟,请耐心等待..."
python3 src/train.py
if [ $? -ne 0 ]; then
echo "[错误] 模型训练失败"
exit 1
fi
echo "模型训练完成"
else
echo "模型文件已存在"
fi
echo ""
echo "[步骤 5/5] 运行环境检查..."
python3 check_environment.py
if [ $? -ne 0 ]; then
echo "[警告] 环境检查发现问题,但将继续启动应用"
fi
echo ""
echo "============================================================"
echo "安装完成正在启动Web界面..."
echo "============================================================"
echo ""
echo "提示:"
echo "- Web界面将在浏览器中自动打开"
echo "- 如果没有自动打开,请访问: http://localhost:8501"
echo "- 按 Ctrl+C 可以停止服务"
echo ""
python3 src/agent_app.py