温馨提示×

Ubuntu Python机器学习入门

小樊
33
2025-11-18 22:44:20
栏目: 编程语言

Ubuntu 上使用 Python 开展机器学习的入门指南

一 环境准备与 Python 安装

  • 更新系统并安装基础工具:
    • 命令:sudo apt update && sudo apt upgrade -y
    • 安装常用工具:sudo apt install -y python3 python3-pip git build-essential htop
  • 检查版本:python3 --versionpip3 --version
  • 说明:Ubuntu 通常预装 Python 3,如未安装再用 apt 安装即可。

二 创建隔离环境

  • 使用 venv(轻量、内置):
    • 创建:python3 -m venv ~/ml_venv && source ~/ml_venv/bin/activate
    • 退出:deactivate
  • 使用 conda(适合数据科学,依赖管理更强):
    • 安装 Miniconda/Anaconda(示例):wget https://repo.anaconda.com/archive/Anaconda3-2024.05-Linux-x86_64.sh && bash Anaconda3-2024.05-Linux-x86_64.sh
    • 创建环境:conda create -n ml_env python=3.10 -y && conda activate ml_env
  • 建议:为每个项目单独创建环境,避免依赖冲突。

三 安装常用机器学习库

  • 经典 ML 与可视化:
    • pip install numpy pandas scikit-learn matplotlib seaborn
  • 深度学习框架(二选一或并存):
    • CPU 版 PyTorch:pip install torch torchvision torchaudio
    • GPU 版 PyTorch(示例,CUDA 11.8):conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
    • TensorFlow:pip install tensorflow
  • 验证安装(任选其一):
    • TensorFlow:python - <<'PY' import tensorflow as tf print("TF:", tf.__version__, "GPU:", tf.config.list_physical_devices('GPU')) PY
    • PyTorch:python - <<'PY' import torch print("PyTorch:", torch.__version__, "CUDA available:", torch.cuda.is_available()) PY
  • 提示:GPU 版本需匹配 NVIDIA 驱动CUDA/cuDNN;无 GPU 可先用 CPU 版。

四 第一个机器学习示例 线性回归

  • 目标:用 scikit-learn 拟合一条 y = a + b·x 的直线,并评估误差。
  • 代码(保存为 linear_demo.py):
    • import numpy as np
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.linear_model import LinearRegression
      from sklearn.metrics import mean_squared_error, r2_score
      
      # 1) 构造数据
      np.random.seed(42)
      X = np.random.rand(100, 1) * 10          # 特征:面积等
      y = 2.5 + 3.7 * X.ravel() + np.random.randn(100) * 2  # 目标:带噪声的线性关系
      
      # 2) 训练/测试划分
      X_tr, X_te, y_tr, y_te = train_test_split(X, y, test_size=0.2, random_state=42)
      
      # 3) 训练
      model = LinearRegression()
      model.fit(X_tr, y_tr)
      
      # 4) 评估
      y_pred = model.predict(X_te)
      print(f"Coefficients: {model.coef_}, Intercept: {model.intercept_:.2f}")
      print(f"MSE: {mean_squared_error(y_te, y_pred):.2f}, R2: {r2_score(y_te, y_pred):.2f}")
      
      # 5) 可视化
      import matplotlib.pyplot as plt
      plt.scatter(X_te, y_te, color="blue", label="Actual")
      plt.plot(X_te, y_pred, color="red", linewidth=2, label="Predicted")
      plt.xlabel("X")
      plt.ylabel("y")
      plt.legend()
      plt.title("Linear Regression Fit")
      plt.show()
      
  • 运行:python3 linear_demo.py
  • 预期:控制台输出系数、截距、MSER2;弹出散点图与拟合直线。

五 进阶与部署建议

  • 交互式开发:安装 Jupyter Notebook
    • pip install notebookconda install jupyter
    • 启动:jupyter notebook(浏览器自动打开)
  • 计算机视觉入门:安装 OpenCV
    • pip install opencv-python
    • 可结合 scikit-learn 做图像分类小实验(如灰度化后用随机森林)
  • 部署为服务:用 Flask/FastAPI 封装模型推理接口
    • 示例:pip install flask fastapi uvicorn[standard]
    • 运行:uvicorn app:app --reload --host 0.0.0.0 --port 5000
    • 生产可加 Nginx 反向代理与进程管理(如 systemd)。

0