第二章 环境搭建与工具链:工欲善其事,必先利其器

做剩余寿命预测,说白了就是跟数据打交道。数据不会自己从天上掉下来,你得先搭好一个能干活的环境。我见过不少新手,一上来就急着跑模型,结果装个库装半天,版本冲突搞得头大。嗯,咱们先把地基打牢。

核心要点:一套干净、可复现的Python环境,能让你少踩80%的坑。我个人习惯用Anaconda做环境隔离,每个项目一个独立环境,互不干扰。

2.1 Python环境配置:Anaconda

Anaconda是什么?它就是一个Python的“全家桶”。把Python解释器、常用库、包管理工具打包在一起。你下载一个,就全有了。

为什么要用它?因为省心。我在项目中遇到过好几次,不同项目依赖不同版本的库,比如项目A要PyTorch 1.8,项目B要PyTorch 2.0。如果全装在一个环境里,早晚会出问题。Anaconda的虚拟环境就是干这个的。

安装步骤:

  1. 去Anaconda官网下载对应系统的安装包(Windows/Mac/Linux)
  2. 双击安装,一路默认就行。但注意:安装时勾选“Add Anaconda to my PATH environment variable”
  3. 安装完成后,打开终端(或Anaconda Prompt),输入 conda --version 验证

小技巧:如果你在Linux服务器上工作,没有图形界面,可以用 wget 下载.sh安装包,然后 bash Anaconda3-xxx.sh 静默安装。

创建虚拟环境:

# 创建一个名为 rl_env 的环境,指定Python版本为3.9
conda create -n rl_env python=3.9

# 激活环境
conda activate rl_env

# 退出环境
conda deactivate

# 查看所有环境
conda env list

我曾经犯过一个错:把所有库都装在base环境里。结果有一天要升级某个库,把整个环境搞崩了。从那以后,我每个项目都新建一个环境。你想想看,这就像每个项目有自己的工具箱,互不借用,多清爽。

2.2 核心库安装:Pandas, NumPy, Scikit-learn, Matplotlib, PyTorch

这些库是剩余寿命预测的“左膀右臂”。咱们一个一个来装。

库名 作用 安装命令
NumPy 数值计算、矩阵运算 conda install numpy
Pandas 数据处理、表格操作 conda install pandas
Scikit-learn 传统机器学习算法 conda install scikit-learn
Matplotlib 数据可视化、画图 conda install matplotlib
PyTorch 深度学习框架 见下方说明

安装PyTorch要注意:

PyTorch的安装跟你的CUDA版本有关。如果你有NVIDIA显卡,想用GPU加速,先去终端输入 nvidia-smi 查看CUDA版本。然后去PyTorch官网(pytorch.org)选择对应的安装命令。

# 举例:CUDA 11.8 版本
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

# 如果没有GPU,装CPU版本
conda install pytorch torchvision torchaudio cpuonly -c pytorch

避坑指南:我曾经在服务器上装PyTorch,没注意CUDA版本,装了个不匹配的。结果训练时一直报“CUDA error: no kernel image is available”。折腾了半天,才发现是版本不对。所以,装之前一定先查CUDA版本。

批量安装:

你可以把所有库写在一个文件里,一次性安装。创建一个 requirements.txt

numpy==1.24.3
pandas==2.0.3
scikit-learn==1.3.0
matplotlib==3.7.2
torch==2.0.1

然后运行:

pip install -r requirements.txt

2.3 Jupyter Notebook使用

Jupyter Notebook是什么?它是一个交互式的编程环境。你可以在网页里写代码、运行、看结果、写笔记。非常适合做数据分析和算法实验。

安装与启动:

# 安装
conda install jupyter

# 启动
jupyter notebook

启动后,浏览器会自动打开一个页面。你会看到文件目录,点“New” -> “Python 3” 就能新建一个Notebook。

基本操作:

  • 单元格(Cell): 每个代码块就是一个单元格。按 Shift + Enter 运行当前单元格并跳到下一个。
  • 两种模式: 命令模式(按Esc进入)和编辑模式(按Enter进入)。命令模式下,按 a 在上方插入单元格,按 b 在下方插入。
  • Markdown单元格: 可以写文字、公式、标题。把单元格类型从“Code”改成“Markdown”就行。

个人习惯:我一般把Notebook分成几个部分:数据加载、数据探索、特征工程、模型训练、结果可视化。每个部分用Markdown标题隔开。这样回头再看,逻辑特别清晰。

一个完整的示例:

# 第一个单元格:导入库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import torch

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

# 第二个单元格:创建一个简单的数据集
data = pd.DataFrame({
    '时间': np.arange(1, 101),
    '振动值': np.sin(np.arange(1, 101) * 0.1) + np.random.randn(100) * 0.1
})
data.head()

# 第三个单元格:画个图看看
plt.figure(figsize=(10, 4))
plt.plot(data['时间'], data['振动值'])
plt.title('传感器振动信号')
plt.xlabel('时间点')
plt.ylabel('振动幅值')
plt.show()

你想想看,在Notebook里,你可以一边写代码一边看结果。发现数据有问题,马上就能改。这种即时反馈,对做算法实验来说太重要了。

核心总结:环境搭建不是一次性的。随着项目推进,你可能需要装新的库。记住:先激活虚拟环境,再装库。别装到base环境里去了。

第二章:环境搭建与工具链 - 知识体系 环境搭建与工具链 Anaconda Python环境管理 虚拟环境创建 环境隔离 核心库安装 NumPy, Pandas, Scikit-learn等 conda install / pip PyTorch + CUDA匹配 Jupyter Notebook 交互式编程环境 单元格操作 Markdown + Code 核心原则:先激活虚拟环境,再装库 避免base环境污染,每个项目独立环境

最后说一句:环境搭好了,后面的事就顺了。别嫌这一步麻烦,磨刀不误砍柴工。咱们下一节就开始真正处理数据了。

蓝海数据掘金营,专注资料整理