温馨提示×

Ubuntu如何使用Python进行机器学习

小樊
39
2025-11-08 22:27:54
栏目: 编程语言

Ubuntu环境下使用Python进行机器学习的完整流程

1. 环境准备:安装Python基础工具

Ubuntu系统通常预装Python 3,但需确认版本(建议≥3.6)并安装pip(Python包管理工具)。打开终端执行以下命令:

sudo apt update  # 更新系统包列表
sudo apt install python3 python3-pip  # 安装Python 3及pip

验证安装:

python3 --version  # 查看Python版本
pip3 --version     # 查看pip版本

2. 配置虚拟环境(推荐,避免依赖冲突)

虚拟环境可隔离不同项目的库版本。使用系统自带的venv模块创建:

sudo apt install python3-venv  # 安装venv模块(若未安装)
python3 -m venv myenv          # 创建名为"myenv"的虚拟环境
source myenv/bin/activate      # 激活虚拟环境(激活后终端前缀显示"(myenv)")

退出虚拟环境:执行deactivate

3. 安装机器学习核心库

基础库(必装)

通过pip安装数值计算、数据处理、可视化及经典机器学习库:

pip install numpy pandas scikit-learn matplotlib seaborn
  • numpy:高效多维数组运算;
  • pandas:数据结构(DataFrame)与分析;
  • scikit-learn:经典机器学习算法(线性回归、分类、聚类等);
  • matplotlib/seaborn:数据可视化。

深度学习框架(可选,按需选择)

  • TensorFlow(支持CPU/GPU):
    pip install tensorflow
    
  • PyTorch(支持CPU/GPU,需匹配CUDA版本):
    访问PyTorch官网获取对应命令(例如CUDA 11.8版本):
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
    

4. 数据准备:获取与预处理

机器学习项目需先获取数据,常用来源包括UCI机器学习库、Kaggle或内置数据集(如scikit-learn的波士顿房价数据集)。以scikit-learn内置数据集为例:

from sklearn.datasets import load_boston
import pandas as pd

# 加载数据集
boston = load_boston()
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df['PRICE'] = boston.target  # 添加目标变量

# 查看数据前5行
print(df.head())

5. 构建与训练机器学习模型(以线性回归为例)

使用scikit-learn实现经典的线性回归模型,步骤如下:

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# 划分特征(X)与目标变量(y)
X = df.drop('PRICE', axis=1)  # 特征:除PRICE外的所有列
y = df['PRICE']               # 目标变量:房价

# 划分训练集(80%)与测试集(20%)
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)

# 评估模型性能
mse = mean_squared_error(y_test, y_pred)  # 均方误差
r2 = r2_score(y_test, y_pred)           # R²决定系数
print(f"Mean Squared Error: {mse:.2f}")
print(f"R² Score: {r2:.2f}")

6. 可视化结果(可选,直观展示模型效果)

使用matplotlib绘制实际值与预测值的对比图:

import matplotlib.pyplot as plt

# 绘制实际值(蓝色散点)
plt.scatter(X_test.iloc[:, 0], y_test, color='blue', label='Actual Prices')

# 绘制预测值(红色直线)
plt.plot(X_test.iloc[:, 0], y_pred, color='red', label='Predicted Prices')

# 添加标签与图例
plt.xlabel('Feature (e.g., RM: average number of rooms)')
plt.ylabel('Price')
plt.title('Linear Regression: Actual vs Predicted Prices')
plt.legend()
plt.show()

7. 扩展:使用Jupyter Notebook提升开发效率

Jupyter Notebook是交互式开发工具,适合数据探索与模型迭代。通过conda安装:

conda install jupyter

启动Notebook:

jupyter notebook

在浏览器中打开Notebook文件(.ipynb),逐单元格编写与运行代码。

注意事项

  • 权限问题:虚拟环境中无需使用sudo安装库,避免系统级依赖冲突;
  • GPU支持:若使用TensorFlow/PyTorch的GPU版本,需提前安装NVIDIA驱动、CUDA Toolkit与cuDNN(参考框架官方文档);
  • 库更新:定期执行pip install --upgrade <library_name>更新库至最新版本,修复bug并获得新功能。

通过以上步骤,你可在Ubuntu环境下快速搭建Python机器学习环境,完成从数据处理到模型训练的全流程。根据具体需求,可进一步探索深度学习模型(如CNN、LSTM)或部署模型至生产环境(如使用Flask构建API)。

0