2. 项目环境搭建:Python环境、Anaconda安装、Jupyter Notebook配置、虚拟环境创建
说实话,很多做反洗钱的同学,一听到「环境搭建」就头大。我当年刚入行时也是这样——装个Python折腾一下午,最后发现路径配错了。嗯,今天咱们就把这事一次性捋清楚。
你想想看,反洗钱智能预警系统,说白了就是一堆算法在跑数据。没有好的环境,代码写得再漂亮也跑不起来。我个人习惯是:先搭好地基,再盖楼。这个地基,就是Python + Anaconda + Jupyter + 虚拟环境。
核心要点:环境搭建不是一次性的工作。你在项目中会反复创建新环境、装新包。所以一开始就要养成好习惯。
2.1 为什么选Python?
这个问题我经常被问到。其实答案很简单:反洗钱领域的数据处理、机器学习、规则引擎,Python都有现成的库。我在项目中用过R、用过Java,最后还是回到了Python。为什么?因为快。
举个例子:你要处理100万条交易记录,用Python的pandas库,几行代码就搞定。换成Java,你得写半天。而且反洗钱模型迭代特别快,今天要加个聚类算法,明天要试试随机森林——Python的生态让你能快速验证想法。
2.2 Anaconda:一站式安装
我个人强烈建议用Anaconda。为什么?因为它把Python、常用库、包管理器都打包好了。你不需要一个个去装numpy、pandas、scikit-learn——Anaconda一次性搞定。
安装步骤其实很简单:
- 去Anaconda官网下载对应操作系统的安装包(Windows/Mac/Linux)
- 双击安装,一路默认就行
- 注意:安装时勾选「Add Anaconda to my PATH environment variable」
我曾经踩过的坑:第一次装Anaconda时没勾选PATH选项,结果在命令行里死活找不到conda命令。后来折腾了半天才加上环境变量。所以这一步千万别省。
装完之后,打开终端(Windows用cmd或PowerShell,Mac/Linux用terminal),输入:
conda --version
如果看到版本号,说明安装成功了。我一般会再跑一句:
python --version
确保Python版本是3.8以上。反洗钱项目里很多新库已经不支持Python 2了,别用老版本。
2.3 Jupyter Notebook:交互式开发利器
做反洗钱数据分析,Jupyter Notebook是我的首选。为什么?因为它能让你边写代码边看结果。你想想看,你写一段数据清洗的代码,马上就能看到清洗后的数据长什么样——这比写脚本然后运行、再打印输出要高效得多。
安装Jupyter很简单,Anaconda已经自带了。你只需要在终端输入:
jupyter notebook
浏览器会自动打开一个页面,默认地址是 http://localhost:8888。这时候你就可以新建一个Notebook开始写代码了。
我的小技巧:我会在项目根目录下创建一个 notebooks/ 文件夹,专门放Jupyter文件。这样项目结构清晰,不会把代码和数据混在一起。
Jupyter里常用的快捷键你得记住几个:
| 快捷键 | 功能 |
|---|---|
| Shift + Enter | 运行当前单元格并跳到下一个 |
| Ctrl + Enter | 运行当前单元格但不跳转 |
| A | 在当前单元格上方插入新单元格 |
| B | 在当前单元格下方插入新单元格 |
| DD | 删除当前单元格 |
嗯,这些快捷键用熟了,效率能翻倍。
2.4 虚拟环境:隔离的艺术
这是很多新手容易忽略的一步。你想想看,你同时做两个项目:一个用TensorFlow 1.x,一个用TensorFlow 2.x。如果装在同一个环境里,肯定会冲突。虚拟环境就是解决这个问题的。
创建虚拟环境的命令很简单:
conda create -n aml_env python=3.9
这里 aml_env 是环境名字,你可以随便起。我习惯用项目名缩写,比如 aml 代表反洗钱(Anti-Money Laundering)。
创建好之后,激活环境:
conda activate aml_env
这时候你的终端前面会多一个 (aml_env) 的标识,说明你已经在这个虚拟环境里了。接下来安装的所有包,都只在这个环境里生效。
重要:每次开始新项目,都创建一个新的虚拟环境。这是专业做法。我在项目中见过太多因为环境混乱导致的bug,排查起来特别痛苦。
退出虚拟环境用:
conda deactivate
查看你有哪些虚拟环境:
conda env list
如果某个环境不要了,可以删除:
conda env remove -n aml_env
2.5 安装反洗钱项目必备库
环境搭好了,接下来装一些常用的库。在虚拟环境里执行:
conda install numpy pandas matplotlib seaborn scikit-learn
conda install -c conda-forge imbalanced-learn xgboost
这些库的作用:
- numpy:数值计算,所有数据操作的基础
- pandas:数据处理,反洗钱里90%的数据清洗工作靠它
- matplotlib + seaborn:数据可视化,画交易分布图、异常检测图
- scikit-learn:机器学习算法,分类、聚类、回归都有
- imbalanced-learn:处理不平衡数据——反洗钱数据里正常交易占99%,异常交易只有1%,这个库专门解决这个问题
- xgboost:梯度提升树,反洗钱模型里效果最好的算法之一
我的经验:装包时尽量用conda而不是pip。conda会自动处理依赖关系,pip有时候会装出冲突。如果conda里没有某个包,再用pip。
2.6 验证环境是否正常
装完之后,咱们跑个简单的测试。在Jupyter里新建一个Notebook,输入:
import numpy as np
import pandas as pd
import sklearn
print("所有库导入成功!")
print(f"NumPy版本: {np.__version__}")
print(f"Pandas版本: {pd.__version__}")
print(f"Scikit-learn版本: {sklearn.__version__}")
如果没报错,说明环境搭好了。恭喜你,可以开始写反洗钱代码了。
2.7 本章知识体系
下面这张图帮你理清今天讲的内容:
这张图把今天的内容串起来了。你从Python开始,用Anaconda一键安装,用Jupyter写代码,用虚拟环境隔离项目。每一步都有它的作用,缺一不可。
最后说一句:环境搭建看起来琐碎,但这是你未来几个月甚至几年写代码的基础。花半小时把这一步做好,后面能省下无数排查环境问题的时间。我在项目中吃过太多环境不兼容的亏,所以现在每次新项目都老老实实走这套流程。
公众号:蓝海资料掘金营,微信deep3321