AI机器学习入门:用Anaconda跑通第一个分类模型
很多新手搜“AI机器学习入门教程”,真正想要的是:不啃理论,先跑通一个能出结果的模型。
这篇教程就带你用 Anaconda 和 scikit-learn,在 Jupyter Notebook 里完成鸢尾花分类任务,最后拿到一个可验证的准确率。
全程不需要 GPU,普通电脑就能操作。
环境准备:装好 Anaconda 和虚拟环境
先确认你的电脑满足两个条件:系统是 Windows 10/11、macOS 或主流 Linux 发行版;
磁盘剩余空间大于 5GB。
然后按下面步骤操作。
- 访问 Anaconda 官网下载对应系统的安装包,安装时勾选“Add Anaconda to my PATH environment variable”(Windows 用户如果不想影响系统环境,也可以不勾,后续用 Anaconda Prompt 操作)。
- 安装完成后打开终端(Windows 用 Anaconda Prompt,macOS/Linux 用系统终端),执行
conda --version,能显示版本号即安装成功。 - 创建独立虚拟环境,避免污染 base 环境:
conda create -n ml-demo python=3.11 -y
conda activate ml-demo
- 安装本教程需要的库:
conda install scikit-learn pandas matplotlib jupyter -y
安装完成后执行 python -c "import sklearn; print(sklearn.__version__)",能打印出版本号就说明库可用。
在 Jupyter 里跑通第一个分类模型
环境好了,下一步用代码把流程走一遍。
在终端输入 jupyter notebook,浏览器会自动打开 Jupyter 页面,新建一个 Python 3 笔记本,按顺序执行以下代码块。
第一步:加载数据并查看结构
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data
y = iris.target
print(X.shape, y.shape)
输出 (150, 4) (150,) 表示共有 150 条样本、4 个特征,标签是一维数组。
第二步:划分训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
test_size=0.2 表示留出 20% 数据做测试,random_state=42 保证每次划分结果一致,方便复现。
第三步:训练决策树模型
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier(random_state=42)
model.fit(X_train, y_train)
fit 执行完没有报错,说明模型已经训练完成。
第四步:预测并评估准确率
from sklearn.metrics import accuracy_score
pred = model.predict(X_test)
acc = accuracy_score(y_test, pred)
print(f"测试集准确率: {acc:.2f}")
如果输出类似 测试集准确率: 1.00,说明模型在测试集上全部分对。
准确率受数据划分影响,0.90 以上都算正常。
常见报错与避坑提醒
ModuleNotFoundError: No module named 'sklearn':说明当前终端没有激活虚拟环境,先执行conda activate ml-demo再启动 Jupyter。- Jupyter 启动后浏览器没反应:检查终端里是否输出
http://localhost:8888/?token=...,手动复制到浏览器打开即可。 - 准确率异常低或报错:确认
X和y加载正确,不要手写数据导致维度错位。 - 不要跳过虚拟环境:所有库都装在
ml-demo里,base 环境保持干净,后续做其他实验不会互相干扰。
验证结果与下一步
跑通的标准是:Jupyter 里能完整执行上面四个代码块,最后打印出准确率。
如果结果正常,你已经完成了机器学习最核心的流程:加载数据 → 划分数据集 → 训练模型 → 评估效果。
想继续深入,可以尝试把模型换成 from sklearn.linear_model import LogisticRegression,对比两个模型的准确率差异;
或者用 matplotlib 画一张特征散点图,直观看看数据分布。
入门阶段不必纠结数学推导,先把这条流水线跑熟,后面补理论会更有方向。