AI入门:用Python实现第一个机器学习模型

2026-07-11 5 min read 7

引言:为什么你需要学习AI?

人工智能(AI)正在改变世界,从推荐算法到自动驾驶,它无处不在。但很多人认为AI开发门槛太高,需要深厚的数学和编程基础。其实,借助现代工具,即使没有博士学位,你也可以在30分钟内构建一个能预测房价的模型。本文将通过一个经典案例——波士顿房价预测,带你完成从零到一的AI开发体验。

第一步:搭建开发环境

首先,确保你的电脑安装了Python 3.7+。推荐使用Anaconda发行版,它预装了数据科学常用库。打开终端或命令提示符,运行以下命令安装必要库:

pip install numpy pandas scikit-learn matplotlib

第二步:加载并探索数据

我们将使用Scikit-learn内置的波士顿房价数据集。这个数据集包含506个样本,每个样本有13个特征(如犯罪率、房间数等),目标变量是房价中位数(单位:千美元)。

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())
print('数据形状:', df.shape)

第三步:数据预处理

机器学习模型要求数值型输入,且特征尺度应相近。我们检查缺失值,并对特征进行标准化:

# 检查缺失值
print(df.isnull().sum())

# 分割特征和目标
X = boston.data
y = boston.target

# 标准化特征
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

第四步:划分训练集和测试集

将数据分为训练集(80%)和测试集(20%),用于评估模型泛化能力:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X_scaled, y, test_size=0.2, random_state=42
)
print('训练集样本数:', X_train.shape[0])
print('测试集样本数:', X_test.shape[0])

第五步:训练线性回归模型

线性回归是最简单的机器学习算法之一,适合入门。它试图找到一条直线(或超平面)来拟合数据:

from sklearn.linear_model import LinearRegression

# 创建模型
model = LinearRegression()

# 训练模型
model.fit(X_train, y_train)

# 查看模型参数
print('截距:', model.intercept_)
print('系数:', model.coef_[:5], '...')  # 只显示前5个

第六步:评估模型性能

使用均方误差(MSE)和决定系数(R²)评估模型:

from sklearn.metrics import mean_squared_error, r2_score

# 预测
y_pred = model.predict(X_test)

# 计算指标
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f'均方误差 (MSE): {mse:.2f}')
print(f'决定系数 (R²): {r2:.2f}')

第七步:可视化结果

绘制预测值与真实值的散点图,直观感受模型效果:

import matplotlib.pyplot as plt

plt.scatter(y_test, y_pred, alpha=0.6)
plt.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'r--')
plt.xlabel('真实价格')
plt.ylabel('预测价格')
plt.title('真实 vs 预测房价')
plt.show()

进阶:尝试更复杂的模型

线性回归只是起点。你可以尝试决策树、随机森林等模型,看看能否提升性能:

from sklearn.ensemble import RandomForestRegressor

rf_model = RandomForestRegressor(n_estimators=100, random_state=42)
rf_model.fit(X_train, y_train)
y_pred_rf = rf_model.predict(X_test)

print('随机森林 R²:', r2_score(y_test, y_pred_rf))

总结与下一步

恭喜!你刚刚完成了第一个机器学习项目。核心步骤包括:环境搭建、数据加载、预处理、模型训练与评估。这个流程适用于绝大多数监督学习任务。下一步可以学习:特征工程、超参数调优、深度学习等。记住,实践是最好的老师,尝试用这个流程分析你自己的数据集吧!

IT搬运工

专注技术分享,坚持原创深度内容。

分类
链接
订阅

RSS 订阅关注最新文章

© 2026 IT搬运工 · 站点地图 · 鄂ICP备19007640号-3