第2章:环境准备——Python科学计算环境搭建

说实话,每次带新人入门,我最怕听到的就是「环境装好了,但跑不起来」。我自己踩过的坑,少说也有十几个版本。所以这一章,咱们把基础打牢。

你想想看,聚类分析说白了就是一堆数学公式在跑。如果底层环境没配好,后面所有代码都可能翻车。我个人的习惯是:先装Anaconda,再配Jupyter,最后装库。一步到位,省心。

2.1 为什么选Anaconda?

很多新手会问:「我直接装Python不行吗?」当然可以。但Anaconda帮你省了三件事:

  • 包管理——conda命令比pip稳,尤其在Windows上
  • 环境隔离——每个项目一个环境,互不干扰
  • 预装库——装完就有100+常用库,省去一个个pip的麻烦

我在项目中遇到过最头疼的事:两个项目依赖不同版本的NumPy,结果一个跑起来另一个就崩。后来用conda环境隔离,再也没出过这种问题。

小技巧: 下载Anaconda时选「Just Me」安装,别选「All Users」。权限问题少很多。

2.2 安装步骤(Windows/Mac/Linux通用)

  1. 去官网下载Anaconda最新版(Python 3.9+版本)
  2. 双击安装,一路默认就行
  3. 安装完打开终端,输入 conda --version 验证

嗯,这里要注意:安装过程中有个「Add Anaconda to PATH」的选项。我建议勾上,省得后面手动配环境变量。不过如果你对系统比较敏感,也可以不勾,用Anaconda Prompt启动。

2.3 Jupyter Notebook——你的实验笔记本

Jupyter Notebook是我最常用的工具。为什么?因为它能让你边写代码边看结果,特别适合做数据分析。

启动方式很简单:

# 在终端输入
jupyter notebook

浏览器会自动打开一个页面。点「New」→「Python 3」就能新建一个笔记本。

我个人习惯把每个聚类实验放在单独的notebook里。比如「客户分群_v1.ipynb」、「客户分群_v2.ipynb」。这样改起来方便,也不会搞混。

避坑指南: 我曾经在Jupyter里直接pip安装库,结果装到了base环境。后来发现所有依赖都乱了。建议在notebook里用 !conda install 包名 来安装,它会自动识别当前环境。

2.4 必备库安装

咱们做聚类分析,核心就四个库。我按重要性排了个序:

库名 作用 安装命令
Scikit-learn 聚类算法核心库(KMeans、DBSCAN等) conda install scikit-learn
Pandas 数据处理、表格操作 conda install pandas
Matplotlib 基础绘图 conda install matplotlib
Seaborn 统计图表、更美观的配色 conda install seaborn

安装命令很简单,打开终端(或Anaconda Prompt),逐条执行就行:

conda install scikit-learn
conda install pandas
conda install matplotlib
conda install seaborn

如果你网络慢,可以换成国内镜像源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

装完之后,验证一下:

import sklearn
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

print("所有库导入成功!")

如果没报错,恭喜你,环境搭好了。

重点提醒: 我见过太多人卡在「ImportError: No module named xxx」。原因往往是:在base环境装了库,但Jupyter用的是另一个环境。解决办法:在Jupyter里先运行 import sys; print(sys.executable),看看当前用的是哪个Python解释器。

2.5 环境验证小实验

咱们来跑个简单的聚类代码,验证环境是否正常:

from sklearn.cluster import KMeans
import numpy as np

# 生成随机数据
X = np.random.rand(100, 2)

# 训练KMeans
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)

print("聚类标签:", kmeans.labels_)
print("聚类中心:", kmeans.cluster_centers_)

如果输出正常,说明Scikit-learn和NumPy都装好了。接下来就可以正式进入聚类算法的世界了。

说实话,环境搭建这一步虽然枯燥,但值得花时间。我当年第一次做客户分群项目,就是因为环境问题折腾了两天。后来学乖了,每次新项目都先建一个干净的环境,再装库。省下的时间,够你多跑十次聚类了。

我的习惯: 每个项目建一个独立的conda环境。命令是 conda create -n 项目名 python=3.9。这样不同项目之间不会打架。

好了,环境准备好了。下一章咱们就开始动手做第一个聚类实验——用KMeans给客户分群。到时候你会发现,前面这些准备工作,全都值了。