🎯 文章目标:
帮助读者真正上手训练一个完整的机器学习模型。无需高深数学,不讲公式,直接用代码带你“跑通一次”AI项目的基础闭环:数据加载 → 模型训练 → 预测 → 评估。1. 准备数据集:使用scikit-learn自带数据
在初学阶段,我们不需要用大型真实数据集,`scikit-learn`提供了很多标准的练习用数据,例如“鸢尾花数据集(Iris)”、“波士顿房价(Boston)”、“手写数字识别(Digits)”等。✅ 我们这里选择“鸢尾花数据集(Iris)”,一个经典的分类问题,用于判断花的种类。
python
复制编辑
from sklearn.datasets import load_iris
import pandas as pd
# 加载数据
iris = load_iris()
X = pd.DataFrame(iris.data, columns=iris.feature_names)
y = pd.Series(iris.target)
# 查看前几行数据
print(X.head())
print(y.head())
2. 划分训练集与测试集
为了验证模型效果,我们需要将数据集分为“训练集”和“测试集”:python
复制编辑
from sklearn.model_selection import train_test_split
# 拆分为训练数据和测试数据(80%训练,20%测试)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
🔍 测试集的作用是:在模型训练完成后,用“没见过的数据”来验证模型的预测效果,避免“背答案”现象。
3. 选择一个模型:逻辑回归
逻辑回归是最简单、最经典的分类算法之一。虽然名字里带“回归”,但它实际上是用于分类问题的。python
复制编辑
from sklearn.linear_model import LogisticRegression
# 创建模型实例并训练
model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)
🚀 至此,你已经拥有了人生中的第一个“AI模型”!
4. 模型预测:让AI做出判断
模型训练完成后,我们就可以使用它对新数据做出预测了。python
复制编辑
# 使用测试集做预测
y_pred = model.predict(X_test)
# 显示前几个预测结果
print("预测结果:", y_pred[:5])
print("实际结果:", y_test.values[:5])
5. 评估模型表现:用分数说话
我们需要量化模型的好坏,最简单的方式就是计算“准确率”。python
复制编辑
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率:{accuracy * 100:.2f}%")
🧠 如果准确率很高(例如超过90%),说明模型已经能较好地识别不同的花种。
6. 可视化决策边界(进阶拓展)
你可能想知道模型“是如何分辨三种花的”?我们可以用图形来展示模型的“决策边界”,不过这里需要先进行“降维”处理(因为原始数据是4维)。python
复制编辑
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
# 将特征降为2维,方便画图
pca = PCA(n_components=2)
X_reduced = pca.fit_transform(X)
# 绘制散点图
plt.scatter(X_reduced[:, 0], X_reduced[:, 1], c=y, cmap='viridis')
plt.title("鸢尾花数据的二维投影")
plt.xlabel("主成分1")
plt.ylabel("主成分2")
plt.show()
7. **总结:你已经完成了第一个机器学习项目闭环!
到目前为止,你已经完成了从零训练一个AI模型的全过程:| 阶段 | 内容 |
|---|---|
| 📦 数据获取 | 加载鸢尾花数据集 |
| 🧹 数据处理 | 拆分训练集与测试集 |
| 🧠 模型训练 | 使用逻辑回归算法 |
| 🎯 模型预测 | 用测试数据预测花种 |
| 📈 模型评估 | 准确率评估模型效果 |
✅ 这意味着你已经拥有了训练机器学习模型的“第一手经验”!
✅ 延伸阅读(可选拓展):
如果你想使用其他算法如KNN、随机森林、SVM,只需要修改一行代码:python
复制编辑
from sklearn.neighbors import KNeighborsClassifier
model = KNeighborsClassifier()
- 如果你想把模型保存成文件,将在后面“模型部署与保存”章节讲解。
下一篇文章,我们将探索“常见机器学习算法入门”,帮你了解不同类型的AI模型适合什么场景,并带你动手实践更多算法!