第1章:Python科学计算环境搭建
各位同学好,我是老张。在风电行业摸爬滚打了十几年,从最早的机械检修到现在的智能运维,我最大的感触就是——工具太重要了。今天咱们要聊的,就是机器学习实战的第一步:把Python科学计算环境搭好。
说实话,我见过太多人卡在环境配置上。明明算法思路都通了,结果装个库装了半天,最后还报错。嗯,咱们今天就把这事一次性搞定。
1.1 为什么选择Anaconda?
你可能要问:直接装Python不行吗?当然可以。但我在项目中遇到过太多次版本冲突了——这个项目要Python 3.8,那个项目要3.10,来回折腾。Anaconda说白了就是个「环境管家」,它能帮你隔离不同项目,互不干扰。
核心优势:
- 自带150+常用科学计算包,省去手动安装的麻烦
- conda虚拟环境管理,项目间隔离
- 跨平台支持(Windows/Linux/Mac)
1.2 Anaconda安装实战
我个人习惯去清华镜像站下载,速度快很多。记住,别去官网,那速度能急死人。
安装步骤:
- 访问清华镜像站:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ - 选择对应系统版本(我用的Anaconda3-2023.09-0)
- 双击安装,一路默认即可
- 关键一步:安装时勾选「Add Anaconda3 to my PATH environment variable」
我曾经踩过的坑:没勾选PATH选项,结果命令行里死活找不到conda命令。后来重装了一遍才解决。所以这一步千万别省。
安装完成后,打开命令行输入:
conda --version
如果看到版本号,恭喜你,成了。
1.3 Jupyter Notebook配置
Jupyter Notebook这东西,我刚开始用的时候觉得「不就是个网页版编辑器吗?」后来做风电数据探索时才发现,真香。你想想看,一边写代码一边看结果,还能加注释、画图表,特别适合做数据分析。
启动方式:
# 命令行直接启动
jupyter notebook
# 或者指定端口(我习惯用8888)
jupyter notebook --port=8888
启动后浏览器会自动打开,看到那个熟悉的界面就对了。
我的小技巧:在Jupyter里按Tab键可以自动补全代码,按Shift+Tab查看函数文档。做风机数据分析时,这俩快捷键帮我省了不少时间。
1.4 核心库安装:NumPy、Pandas、Scikit-learn
这三个库是咱们做风机故障分类的基石。NumPy处理数组,Pandas处理表格数据,Scikit-learn做机器学习模型。说白了,一个都不能少。
安装命令:
# 创建虚拟环境(我习惯叫wind_env)
conda create -n wind_env python=3.9
# 激活环境
conda activate wind_env
# 批量安装
conda install numpy pandas scikit-learn
安装完成后,验证一下:
python -c "import numpy; import pandas; import sklearn; print('All good!')"
如果没报错,说明环境搭好了。
版本兼容性注意:
| 库名 | 推荐版本 | 说明 |
|---|---|---|
| NumPy | 1.24.x | 太新版本可能和旧代码不兼容 |
| Pandas | 2.0.x | 支持Parquet格式,处理风电时序数据更快 |
| Scikit-learn | 1.3.x | 新增了HistGradientBoosting,适合风机数据 |
1.5 知识体系总览
下面这张图是我自己画的,把整个环境搭建的逻辑串起来了。你一看就明白:
1.6 环境验证与测试
环境搭好了,咱们跑个小例子验证一下。这段代码会生成一组模拟的风机振动数据:
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
# 生成模拟数据:1000个样本,5个特征
np.random.seed(42)
data = {
'振动_x': np.random.normal(0, 1, 1000),
'振动_y': np.random.normal(0, 1.2, 1000),
'温度': np.random.normal(75, 10, 1000),
'转速': np.random.normal(1500, 200, 1000),
'功率': np.random.normal(2000, 300, 1000)
}
df = pd.DataFrame(data)
# 划分训练集和测试集
X_train, X_test = train_test_split(df, test_size=0.2, random_state=42)
print(f"训练集大小: {X_train.shape}")
print(f"测试集大小: {X_test.shape}")
print("环境验证通过!")
如果看到输出结果,说明你的环境已经可以跑机器学习项目了。
避坑指南:我曾经在Windows上遇到过编码问题,数据里带中文就报错。解决方案是在代码开头加一句:# -*- coding: utf-8 -*-。嗯,这个小细节能省你半小时。
好了,环境搭建就到这里。记住,工具是死的,人是活的。把环境弄顺了,后面做风机故障分类才能专心搞算法。咱们下章见。