01-机器学习基础
本章介绍机器学习的基础概念、工作流程和 scikit-learn 库的基本使用方法。
实际场景
假设你是一名房地产分析师,需要预测房价。你有过去 5 年的历史房价数据,包括房屋面积、房间数量、地段、建成年份等特征。你想通过这些数据训练一个模型来预测新房子的价格。这正是机器学习的典型应用场景:从历史数据中学习规律,用于预测未来。
什么是机器学习
机器学习是人工智能的一个分支,使计算机能够从数据中学习规律,用于预测或决策。
┌─────────────────────────────────────────────────────────────┐
│ 传统编程 vs 机器学习 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 传统编程: │
│ 输入 (数据) + 规则 (程序) → 输出 (结果) │
│ │
│ 机器学习: │
│ 输入 (数据) + 输出 (标签) → 规则 (模型) │
│ │
└─────────────────────────────────────────────────────────────┘机器学习的类型
┌─────────────────────────────────────────────────────────────┐
│ 机器学习类型 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 监督学习 (Supervised Learning) │
│ • 数据特点:有标签 (输入 + 期望输出) │
│ • 任务类型:分类、回归 │
│ │
│ 2. 无监督学习 (Unsupervised Learning) │
│ • 数据特点:无标签 (只有输入数据) │
│ • 任务类型:聚类、降维 │
│ │
│ 3. 半监督学习 │
│ • 数据特点:少量有标签 + 大量无标签 │
│ │
│ 4. 强化学习 │
│ • 学习方式:通过与环境交互,根据奖励/惩罚学习 │
│ │
└─────────────────────────────────────────────────────────────┘机器学习工作流程
1. 问题定义 → 2. 数据收集 → 3. 数据探索 → 4. 数据清洗
↓
5. 特征工程 → 6. 模型选择 → 7. 模型训练 → 8. 模型评估
↓
9. 超参数调优 → 10. 模型部署scikit-learn 简介
scikit-learn 是 Python 最流行的机器学习库。
统一 API 模式
python
from sklearn.linear_model import LogisticRegression
from numpy.typing import NDArray
model: LogisticRegression = LogisticRegression()
model.fit(X_train, y_train)
predictions: NDArray = model.predict(X_test)
accuracy: float = model.score(X_test, y_test)第一个机器学习程序
python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
from numpy.typing import NDArray
iris = load_iris()
X: NDArray = iris.data
y: NDArray = iris.target
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
model: KNeighborsClassifier = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)
y_pred: NDArray = model.predict(X_test)
print(f"准确率:{accuracy_score(y_test, y_pred):.2%}")本章小结
┌─────────────────────────────────────────────────────────────┐
│ 机器学习基础 知识要点 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 机器学习类型: │
│ ✓ 监督学习:有标签,分类/回归 │
│ ✓ 无监督学习:无标签,聚类/降维 │
│ │
│ 工作流程: │
│ ✓ 问题定义→数据收集→数据探索→数据清洗→特征工程 │
│ ✓ 模型选择→模型训练→模型评估→超参数调优→模型部署 │
│ │
│ scikit-learn: │
│ ✓ 统一 API: fit() → predict() → score() │
│ │
└─────────────────────────────────────────────────────────────┘