Skip to content

1. sklearn 基础

  • scikit-learn 是常用机器学习库
  • 基本流程:导包 -> 准备数据 -> 创建模型 -> fit() 训练 -> predict() 预测
  • 常见模块:
    • sklearn.neighbors:KNN
    • sklearn.preprocessing:归一化、标准化
    • sklearn.linear_model:线性回归、逻辑回归
    • sklearn.cluster:KMeans

2. KNN

  • KNN分类:看最近的 K 个邻居,按多数投票决定类别
  • KNN回归:看最近的 K 个邻居,取平均预测数值
  • 特点:
    • 训练过程简单
    • 预测时计算量较大
    • 对距离敏感,所以常配合特征缩放

3. 特征归一化和标准化

  • 归一化:把数据缩放到 [0, 1]
    • 常用:MinMaxScaler
  • 标准化:把数据变成均值 0、标准差 1
    • 常用:StandardScaler
  • 作用:
    • 消除不同特征量纲差异
    • 提升距离类模型效果
  • 规则:
    • 训练集用 fit_transform()
    • 测试集只用 transform()

4. 线性回归

  • 用来做回归任务,预测具体数值
  • 核心思想:找一条最合适的直线
  • 公式:
    • 单特征:y = kx + b
    • 多特征:y = w1x1 + w2x2 + ... + b
  • 常见方法:
    • LinearRegression()
    • SGDRegressor()
  • 常见流程:
    • 准备特征和标签
    • 切分训练集/测试集
    • 标准化
    • 训练模型
    • 预测
    • 用误差评估
  • 常见误差指标:
    • MAE:平均绝对误差
    • MSE:均方误差
    • RMSE:均方根误差

5. 逻辑回归

  • 名字里有“回归”,实际主要用于分类
  • 常用于二分类:如是否患病、是否垃圾邮件
  • 核心思想:
    • 先算概率
    • 再根据概率判断类别
  • 常见流程:
    • 读数据
    • 处理缺失值
    • 拆分 x 和 y
    • 切分训练集/测试集
    • 标准化
    • 创建 LogisticRegression()
    • 训练与预测
  • 常见评估指标:
    • accuracy:准确率
    • precision:精确率
    • recall:召回率
    • F1:综合指标
    • confusion_matrix:混淆矩阵

6. 随机种子

  • 用来固定随机结果,保证可复现
  • 常见写法:
    • np.random.seed(n)
    • train_test_split(..., random_state=n)

7. KMeans 聚类

  • 属于无监督学习
  • 不需要标签 y
  • 作用:把相似样本自动分成几类
  • 参数:
    • n_clusters=K:分成 K 类
  • 常见方法:
    • fit_predict(x):训练并输出簇编号
  • 结果说明:
    • 输出的类别编号只是“分组标记”
    • 不代表真实标签含义
  • 过程理解:
    • 随机选中心
    • 样本归类到最近中心
    • 更新中心
    • 重复直到稳定

8. 总结对比

  • KNN分类:看邻居,预测类别
  • KNN回归:看邻居,预测数值
  • 线性回归:找公式,预测数值
  • 逻辑回归:算概率,做分类
  • KMeans:无标签,自动分组