--- title: 机器学习分类算法体系 tags: - module - machine-learning - classification - joplin type: module source_type: reconstructed created: 2026-04-22 updated: 2026-04-22 --- # 机器学习分类算法体系 > [!abstract] > 这一模块处理入门机器学习里的分类主线。重点不是把算法名录背下来,而是理解 sklearn 的训练范式、距离类模型和概率类模型的差异,以及调参评估的基本方法。 ## 模块结论 - [[分类问题]] 的目标是预测离散类别。 - sklearn 的基本使用范式可归纳为“转换器 + 估计器”。 - [[交叉验证]] 与网格搜索是避免拍脑袋调参的重要方法。 ## 一、转换器与估计器 - 转换器负责特征处理。 - 估计器负责模型拟合和预测。 - 这意味着机器学习代码结构通常天然分成“数据表示”和“模型训练”两段。 ## 二、K 近邻算法 - 依据距离度量找邻居。 - 通过邻居投票决定分类结果。 - `k` 太小容易受噪声影响,太大又容易丢失局部结构。 ## 三、朴素贝叶斯 - 基于贝叶斯公式进行分类。 - 用条件独立假设简化概率计算。 - 它的强项在于简单、快速、对某些文本分类任务有效。 ## 四、模型选择与调优 - [[交叉验证]] 用来更稳健地估计模型表现。 - 网格搜索用来系统遍历超参数组合。 - 这一步的目的不是“刷高分”,而是减少偶然性。 ## 五、为什么分类算法不能只看名字 - KNN 强调样本之间的距离关系。 - 朴素贝叶斯强调条件概率与先验。 - 不同模型适合的问题结构不同,不能脱离数据特点谈优劣。 ## 六、易错点 - 只知道 `fit/predict/score`,不知道前面为什么还要做转换。 - 把一次测试集效果当成模型的稳定能力。 - 只会调参,不先判断任务本身是不是适合该模型。 ## 七、复习提问 - sklearn 中转换器和估计器分别解决什么问题? - KNN 为什么对特征尺度比较敏感? - 为什么交叉验证比单次切分更稳健? ## 来源 - [[raw/Joplin/机器学习/1、入门机器学习/3、分类算法体系.md]] ## 相关页面 - [[机器学习基础]] - [[机器学习特征工程]] - [[分类问题]] - [[交叉验证]] - [[统计学习方法]]