如何在Ubuntu用Python进行机器学习
在 Ubuntu 上用 Python 开启机器学习之旅:一份即拿即用的实操指南

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
想在 Ubuntu 系统上快速搭建一个稳定、高效的机器学习开发环境吗?这份指南将带你从零开始,一步步完成环境配置、框架安装,并运行你的第一个模型。整个过程清晰直接,力求避开常见的“坑”。
一、环境准备与 Python 安装
万事开头先打基础。首先,确保你的系统是最新的,并安装好 Python 和包管理工具 pip。
- 更新系统并安装基础工具:
- 打开终端,执行更新命令:
sudo apt update && sudo apt upgrade -y - 安装 Python 3 和 pip:
sudo apt install python3 python3-pip - 安装完成后,别忘了验证一下版本:
python3 --version、pip3 --version
- 打开终端,执行更新命令:
- 强烈建议:使用虚拟环境隔离依赖
这是保证项目依赖纯净、避免版本冲突的关键一步。以下两种主流方案,任选其一即可:- 方案一:使用系统自带的 venv(轻量简洁)
- 创建环境:
python3 -m venv ~/ml_venv - 激活环境:
source ~/ml_venv/bin/activate
- 创建环境:
- 方案二:使用 Conda/Miniconda(数据科学领域更常用,尤其便于管理复杂依赖)
- 安装 Miniconda(以下为示例脚本,建议从官网获取最新链接):
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh - 创建指定 Python 版本的环境:
conda create -n ml_env python=3.10 - 激活环境:
conda activate ml_env
- 安装 Miniconda(以下为示例脚本,建议从官网获取最新链接):
- 方案一:使用系统自带的 venv(轻量简洁)
- 一键安装常用基础库
在已激活的虚拟环境中,运行下面这条命令,就能把数据分析、建模和可视化的核心工具包一次性备齐:pip install numpy pandas scikit-learn matplotlib seaborn jupyter
二、安装机器学习与深度学习框架
基础打好,就该上“主菜”了。根据你的硬件和需求,选择安装对应的框架。
- CPU 与通用安装(适合入门学习和大多数 CPU 计算场景):
- scikit-learn(传统机器学习利器):
pip install scikit-learn - TensorFlow(CPU 版本):
pip install tensorflow - PyTorch(CPU 版本):
pip install torch torchvision torchaudio
- scikit-learn(传统机器学习利器):
- GPU 支持安装(释放 NVIDIA 显卡的算力,大幅加速训练)
前提是已正确安装 NVIDIA 驱动、CUDA 和 cuDNN。这里以 CUDA 11.8 为例(建议在 Conda 环境中执行,依赖管理更省心):- PyTorch GPU 版:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia - (备选)如需 CPU 版 PyTorch:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
- PyTorch GPU 版:
- 验证安装是否成功(跑个简单命令看看):
- 验证 PyTorch 及 CUDA:
python -c "import torch; print('CUDA a vailable:', torch.cuda.is_a vailable())" - 验证 TensorFlow:
python -c "import tensorflow as tf; print('TF version:', tf.__version__)"
- 验证 PyTorch 及 CUDA:
三、快速上手示例:从传统机器学习到深度学习
环境就绪,最好的验证方式就是跑通一个例子。下面两个经典示例,带你感受不同范式的建模流程。
- 示例一:传统机器学习(使用 scikit-learn 实现线性回归)
- 将以下代码保存为
ml_linear.py:import numpy as np from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error # 生成模拟数据 X = np.random.rand(100, 1) y = 2 + 3 * X + 0.1 * np.random.randn(100, 1) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建模型、训练、预测 model = LinearRegression() model.fit(X_train, y_train) y_pred = model.predict(X_test) # 评估模型 print("MSE:", mean_squared_error(y_test, y_pred)) - 在终端运行:
python ml_linear.py
- 将以下代码保存为
- 示例二:深度学习(使用 TensorFlow/Keras 识别 MNIST 手写数字)
- 将以下代码保存为
tf_mnist.py:import tensorflow as tf from tensorflow.keras import Sequential from tensorflow.keras.layers import Dense, Flatten # 加载并预处理数据 (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data() x_train, x_test = x_train/255.0, x_test/255.0 # 构建一个简单的神经网络 model = Sequential([ Flatten(input_shape=(28, 28)), Dense(128, activation='relu'), Dense(10, activation='softmax') ]) # 编译并训练模型 model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5, batch_size=32, verbose=2) # 在测试集上评估 test_loss, test_acc = model.evaluate(x_test, y_test, verbose=0) print(f"Test accuracy: {test_acc:.4f}") - 在终端运行:
python tf_mnist.py
- 将以下代码保存为
- 交互式开发建议:使用 Jupyter Notebook
对于探索性数据分析和模型调试,Jupyter Notebook 是绝佳工具。- 安装:
pip install notebook或conda install jupyter - 启动:在终端输入
jupyter notebook,浏览器会自动打开工作界面。
- 安装:
四、数据处理与计算机视觉扩展
机器学习离不开数据。如果你想涉足计算机视觉,OpenCV 是处理图像数据的瑞士军刀。
- 安装 OpenCV 进行图像读取与预处理:
- 安装:
pip install opencv-python - 基本用法示例:
import cv2 img = cv2.imread('image.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) print(gray.shape)
- 安装:
- 一个小项目思路:可以尝试用 OpenCV 读取一个文件夹下的所有图像,将它们转换为灰度图并展平为特征向量,然后使用 scikit-learn 中的随机森林(RandomForest)等分类器进行训练和准确率评估。这能让你完整走通一个简单的图像分类 pipeline。
五、常见问题与排错建议
最后,分享几个实践中高频出现的问题和解决思路,希望能帮你节省时间。
- 环境与权限问题
- 务必优先使用虚拟环境(venv/conda),这是避免系统级包冲突的根本方法。如果不得已使用系统 pip,建议加上
--user参数,或者确保将虚拟环境的 bin 目录加入 PATH。
- 务必优先使用虚拟环境(venv/conda),这是避免系统级包冲突的根本方法。如果不得已使用系统 pip,建议加上
- GPU 不可用或未被识别
- 首先确认三件套:NVIDIA 驱动、CUDA、cuDNN 的版本是否匹配且安装正确。
- 命令行输入
nvidia-smi检查驱动和 GPU 状态。 - 在 Python 中,PyTorch 可用
torch.cuda.is_a vailable()验证;TensorFlow 2.10+ 在 Linux 上通常已内置 GPU 支持,无需单独安装旧的 tensorflow-gpu 包。
- 包依赖冲突与安装失败
- 首先尝试升级 pip 本身:
pip install -U pip - 对于 PyTorch、TensorFlow 等大型框架,尤其是 GPU 版本,尽量使用 conda 安装。Conda 能更好地解决复杂依赖关系,避免与 pip 混合安装导致的环境混乱。
- 首先尝试升级 pip 本身:
- Jupyter Notebook 无法启动或找不到内核
- 在目标虚拟环境中,执行以下命令为 Jupyter 安装内核:
python -m ipykernel install --user --name=ml_env(将 ml_env 替换为你的环境名)。 - 重启 Jupyter,在 “Kernel” -> “Change kernel” 菜单中选择刚添加的环境内核即可。
- 在目标虚拟环境中,执行以下命令为 Jupyter 安装内核:
相关攻略
在Ubuntu上构筑安全防线:防火墙配置与入侵检测实战指南 为Ubuntu服务器或工作站部署一套坚实的安全屏障,是每个系统管理员的基础功课。今天,我们就来深入聊聊如何利用系统自带的工具,一步步配置防火墙,并引入更强大的入侵检测系统。整个过程其实并不复杂,关键在于理解每个步骤背后的逻辑。 使用UFW配
Ubuntu漏洞利用深度解析:从基础到实战的完整方法论 对Ubuntu操作系统中的安全漏洞进行系统性分析,是一项需要融合Linux内核原理、网络协议栈与安全攻防技术的专业工作。尽管流程复杂,但通过建立标准化的分析框架,可以高效完成从漏洞识别到验证的全过程。本指南将为你提供一套结构清晰、可操作性强的实
关于Ubuntu exploit漏洞的修补,你需要知道这些 面对层出不穷的系统漏洞,修补工作绝不能掉以轻心。今天,我们就来深入聊聊几个影响广泛的Ubuntu exploit漏洞,以及一套行之有效的修补与加固策略。记住,安全从来不是一劳永逸,而是一个持续的过程。 漏洞信息:认识你的对手 知己知彼,百战
Ubuntu系统典型安全漏洞盘点与修复 在开源操作系统的安全领域,没有任何系统能够宣称绝对安全,Ubuntu Linux也不例外。通过回顾其历史上已被发现并修复的关键安全漏洞,我们可以汲取重要的安全经验与防范启示。以下将详细盘点几个具有代表性的Ubuntu安全漏洞案例及其解决方案。 Dirty Co
Ubuntu防火墙能阻止哪些攻击? 说到系统安全,防火墙无疑是第一道防线。对于Ubuntu用户而言,通过其内置的UFW(Uncomplicated Firewall)工具,我们能构筑起一道相当坚实的屏障。那么,这道屏障具体能帮我们抵御哪些常见的攻击和威胁呢?下面就来详细拆解一下。 1 阻止特定IP
热门专题
热门推荐
微软调整XGP战略:降价与《使命召唤》延期入库的背后 最近游戏圈有个大消息:微软宣布下调Xbox Game Pass Ultimate和PC Game Pass的月度订阅价格。具体来看,Ultimate档位从每月29 99美元降到了22 99美元,PC Game Pass则从16 49美元降至13
2026年,Xbox新掌门的第一把火:Game Pass要变“自助餐”了 2026年2月,阿莎·夏尔马接棒菲尔·斯宾塞,成为Xbox的新任CEO。这位新官上任,动作可谓雷厉风行。就在昨天,她点燃了第一把火:Xbox Game Pass Ultimate的月费,从29 99美元直接降到了22 99美元
当明星演员想开游戏工作室:资深同行为何直言“别这么做”? 最近,游戏圈里发生了一场有趣的隔空对话。为《最后生还者》《死亡搁浅》等大作献声的知名演员特洛伊·贝克,在采访中透露了一个雄心勃勃的计划:他想创立自己的游戏工作室,去讲述“自己的故事”。他甚至提到,自己的灵感来源之一,正是曾为《刺客信条:起源》
Steam新款手柄评测视频意外流出,定价信息同步曝光 游戏硬件圈最近有个不大不小的“意外”。根据海外多个科技消息源的报道,Valve即将推出的新款Steam Controller手柄,其评测视频竟然提前在网上泄露了。更关键的是,视频里还直接公布了这款产品的售价:99美元。 事情是这样的:一个名为“T
此前,外网消息源透露,目前PlayStation在PS4和PS5的数字版游戏中加入了DRM验证(正版在线验证)机制。 前情提要>> 简单来说,这个新机制的效果是这样的:从今往后,如果你通过数字商店购买新游戏,那么主机就必须定期连接到PSN网络进行正版验证。具体规则是,如果主机连续超过30天处于离线状





