Ubuntu环境下使用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版本
虚拟环境可隔离不同项目的库版本。使用系统自带的venv模块创建:
sudo apt install python3-venv # 安装venv模块(若未安装)
python3 -m venv myenv # 创建名为"myenv"的虚拟环境
source myenv/bin/activate # 激活虚拟环境(激活后终端前缀显示"(myenv)")
退出虚拟环境:执行deactivate。
通过pip安装数值计算、数据处理、可视化及经典机器学习库:
pip install numpy pandas scikit-learn matplotlib seaborn
numpy:高效多维数组运算;pandas:数据结构(DataFrame)与分析;scikit-learn:经典机器学习算法(线性回归、分类、聚类等);matplotlib/seaborn:数据可视化。pip install tensorflow
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
机器学习项目需先获取数据,常用来源包括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())
使用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}")
使用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()
Jupyter Notebook是交互式开发工具,适合数据探索与模型迭代。通过conda安装:
conda install jupyter
启动Notebook:
jupyter notebook
在浏览器中打开Notebook文件(.ipynb),逐单元格编写与运行代码。
sudo安装库,避免系统级依赖冲突;pip install --upgrade <library_name>更新库至最新版本,修复bug并获得新功能。通过以上步骤,你可在Ubuntu环境下快速搭建Python机器学习环境,完成从数据处理到模型训练的全流程。根据具体需求,可进一步探索深度学习模型(如CNN、LSTM)或部署模型至生产环境(如使用Flask构建API)。