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一次性搞定。

安装步骤其实很简单:

  1. 去Anaconda官网下载对应操作系统的安装包(Windows/Mac/Linux)
  2. 双击安装,一路默认就行
  3. 注意:安装时勾选「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 3.8+ Anaconda 安装 Jupyter Notebook 虚拟环境 数据处理、机器学习生态 一键安装、包管理 交互式开发、可视化 环境隔离、依赖管理 目标:搭建稳定、可复现的开发环境

这张图把今天的内容串起来了。你从Python开始,用Anaconda一键安装,用Jupyter写代码,用虚拟环境隔离项目。每一步都有它的作用,缺一不可。

最后说一句:环境搭建看起来琐碎,但这是你未来几个月甚至几年写代码的基础。花半小时把这一步做好,后面能省下无数排查环境问题的时间。我在项目中吃过太多环境不兼容的亏,所以现在每次新项目都老老实实走这套流程。


公众号:蓝海资料掘金营,微信deep3321