第二章:环境搭建——工欲善其事,必先利其器
做量化交易也好,搞情绪分析也罢,第一步永远不是写代码,而是搭环境。我见过太多人一上来就 pip install,结果装到一半报错,折腾半天还没跑通第一个 demo。说实话,这很打击信心。
所以这一章,咱们老老实实把环境搭好。你跟着我来,半小时内搞定。
2.1 Python 版本选择——别用最新的
我个人习惯用 Python 3.9 或 3.10。为什么不用 3.12?因为很多金融库还没适配。我在项目中遇到过,用 Python 3.11 装 TA-Lib,折腾了两小时没装上,换回 3.9 一分钟搞定。
你想想看,咱们是做情绪分析的,不是做版本测试的。稳定第一。
2.2 Anaconda——环境管理的瑞士军刀
Anaconda 这东西,说白了就是个环境管家。你一个项目用 TensorFlow 2.x,另一个项目用 PyTorch,它们可能依赖不同版本的 CUDA。用 Anaconda 创建独立环境,互不干扰。
安装步骤很简单:
- 去官网下载 Anaconda 最新版(选 Python 3.9 那个)
- 一路默认安装,但记得勾选「Add Anaconda to my PATH」
- 打开终端,输入
conda --version验证
装完后,我建议你创建一个专门用于情绪分析的环境:
conda create -n sentiment_analysis python=3.9
conda activate sentiment_analysis
嗯,这里要注意:每次打开新终端,记得先 conda activate sentiment_analysis。不然你装的东西全跑到 base 环境里去了,时间一长乱成一锅粥。
2.3 Jupyter Notebook——交互式开发的利器
做数据分析,Jupyter Notebook 几乎是标配。为什么?因为你可以边写代码边看结果,还能加 Markdown 笔记。我经常用它来做数据探索,画个图、看个分布,非常直观。
安装很简单:
conda install jupyter notebook
jupyter notebook
然后浏览器会自动打开,你就能看到熟悉的界面了。我个人习惯在项目根目录下启动,这样所有文件都在一个工作区里。
Tab 可以自动补全,按 Shift + Tab 可以查看函数文档。这两个快捷键用熟了,效率翻倍。
2.4 关键库安装——一个都不能少
咱们这个课程要用到四个核心库:Pandas、NumPy、Scikit-learn、Transformers。下面一个一个说。
2.4.1 Pandas——数据处理的核心
Pandas 是 Python 里的 Excel,但比 Excel 强大得多。你想想看,几百万条数据,Excel 直接卡死,Pandas 几秒钟搞定。
conda install pandas
装完后,你可以快速验证:
import pandas as pd
print(pd.__version__)
我在项目中遇到过,有人用 pip 装 pandas,结果依赖的 numpy 版本冲突,导致整个环境崩了。用 conda 装就很少出这种问题。
2.4.2 NumPy——科学计算的基础
NumPy 是 Pandas 的底层依赖,也是几乎所有科学计算库的基础。它提供了高效的数组操作和数学函数。
conda install numpy
验证一下:
import numpy as np
print(np.array([1, 2, 3]) * 2)
输出应该是 [2 4 6]。如果报错,检查一下是不是环境没激活。
2.4.3 Scikit-learn——机器学习的工具箱
Scikit-learn 封装了几乎所有经典机器学习算法。咱们后面做情感分类,会用到它的 LogisticRegression、TfidfVectorizer 等。
conda install scikit-learn
验证:
from sklearn.linear_model import LogisticRegression
print("Scikit-learn 安装成功")
2.4.4 Transformers——拥抱大模型
这是咱们情绪分析的核心库。Hugging Face 的 Transformers 提供了 BERT、RoBERTa 等预训练模型,开箱即用。
conda install -c huggingface transformers
或者用 pip:
pip install transformers
验证:
from transformers import pipeline
classifier = pipeline("sentiment-analysis")
result = classifier("I love this course!")
print(result)
如果输出类似 [{'label': 'POSITIVE', 'score': 0.999...}],说明一切正常。
2.5 知识体系总览
下面这张图,帮你理清整个环境搭建的脉络:
2.6 验证环境——跑一个完整示例
所有库装完后,咱们跑一个完整的情绪分析示例,验证环境是否正常:
import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from transformers import pipeline
# 1. 用 Transformers 做情绪分析
classifier = pipeline("sentiment-analysis")
texts = ["This product is amazing!", "I hate waiting in line."]
results = classifier(texts)
print("Transformers 结果:")
for text, result in zip(texts, results):
print(f" {text} -> {result['label']} ({result['score']:.2f})")
# 2. 用 Scikit-learn 做简单分类
data = pd.DataFrame({
'text': ['good', 'bad', 'great', 'terrible'],
'label': [1, 0, 1, 0]
})
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(data['text'])
model = LogisticRegression()
model.fit(X, data['label'])
print("\nScikit-learn 结果:")
print(f" 'awesome' 预测: {model.predict(vectorizer.transform(['awesome']))[0]}")
print(f" 'awful' 预测: {model.predict(vectorizer.transform(['awful']))[0]}")
如果一切顺利,你会看到 Transformers 输出情感标签,Scikit-learn 输出 0/1 分类。这说明环境搭建成功了。
- Python 3.9 或 3.10 已安装
- Anaconda 环境已创建并激活
- Jupyter Notebook 可正常启动
- Pandas、NumPy、Scikit-learn、Transformers 导入无报错
- Transformers pipeline 能正常推理
好了,环境搭好了,咱们就可以正式开始做情绪分析了。下一章,我会带你从零开始,用真实数据跑通第一个情绪分析模型。
公众号:蓝海资料掘金营,微信deep3321