欢迎光临
我们一直在努力

数据挖掘选择题知识点

常见的数据质量问题主要有以下几类:

  • 缺失值(Missing Values)

    • 数据中某些属性的值缺失或为空(如年龄未填、收入未知)。

    • 影响:许多算法无法处理空值,直接忽略会导致信息损失或模型偏差。

    • 应对:删除含缺失值的记录、用均值/中位数/众数填充,或用模型预测填补。

  • 噪声(Noise)

    • 数据中的随机误差或偏离真实值的波动(如传感器故障导致的错误读数)。

    • 影响:干扰模型学习真实规律,降低预测精度。

    • 应对:通过平滑技术(如分箱、聚类)、滤波或离群点检测进行去噪。

  • 异常值(Outliers)

    • 与大部分数据表现明显不一致的极端值(如年龄显示为200岁)。

    • 影响:可能扭曲统计指标(如均值),影响模型稳定性;但在欺诈检测中,异常值本身可能是挖掘目标。

    • 应对:根据业务规则判断,可选择删除、修正,或作为特殊类别单独分析。

  • 数据不一致(Inconsistency)

    • 同一数据在不同地方存在矛盾或格式不统一(如性别同时记录为“男”和“M”;单位混用“公斤”和“磅”)。

    • 影响:导致分析结果混乱或错误。

    • 应对:统一编码规范(如One-Hot编码)、标准化单位、核对数据源逻辑。

  • 重复数据(Duplicates)

    • 数据集中存在完全或部分重复的记录(如同一用户被录入多次)。

    • 影响:人为放大某些样本的权重,导致统计偏倚和过拟合。

    • 应对:通过主键或相似度匹配检测并去重。

  • 数据过时(Outdated Data)

    • 数据反映的是过去的情况,已不适用于当前分析任务(如过期的用户地址)。

    • 影响:模型预测失效,无法反映真实业务现状。

    • 应对:定期更新数据源,剔除时效性过强的失效数据。


  • 数据挖掘任务通常被分为预测性任务(Predictive)和描述性任务(Descriptive)两大类,共涵盖以下 5 种经典任务:

    1. 分类(Classification)—— 预测性任务

    • 做什么:根据已知数据的特征,预测新样本属于哪个离散的类别。

    • 通俗理解:就像是“打标签”。给定一堆特征,判断它是“A类”还是“B类”。

    • 经典案例:判断一封邮件是“垃圾邮件”还是“正常邮件”;根据检查结果判断肿瘤是“良性”还是“恶性”。

    2. 回归(Regression)—— 预测性任务

    • 做什么:根据已知数据的特征,预测新样本的连续数值。

    • 通俗理解:不是判断“是哪一类”,而是估算“值是多少”。

    • 经典案例:根据房屋面积、地段预测“房价”;根据历史数据预测“明天的气温”。

    3. 聚类(Clustering)—— 描述性任务

    • 做什么:在没有预设标签的情况下,根据数据的相似性,自动将其划分为不同的组(簇)。

    • 通俗理解:“物以类聚,人以群分”。算法不知道这些是什么,但发现它们长得像,就归为一堆。

    • 经典案例:新闻网站自动将10万篇报道归为“体育”、“财经”、“娱乐”等主题;客户细分市场。

    4. 关联分析(Association Rule Mining)—— 描述性任务

    • 做什么:发现数据中不同项目(Item)之间同时出现的频繁模式或依赖关系。

    • 通俗理解:找“购物篮”里的搭配规律。买了A的人大概率也会买B。

    • 经典案例:超市经典的 “啤酒与尿布” 现象;电商平台的“购买了这件商品的顾客还购买了…”推荐系统。

    5. 异常检测(Anomaly Detection)—— 描述性任务(有时也用于预测)

    • 做什么:识别数据中显著不同于绝大多数其他数据的“异常点”或“离群点”。

    • 通俗理解:在一群羊里找“披着羊皮的狼”,或者找出特别“格格不入”的那个数据。

    • 经典案例:信用卡欺诈交易检测(突然出现一笔大额海外消费);工业设备故障预警。


    💡 快速区分小贴士:

    • 预测性任务(分类/回归):有明确的答案(标签),让机器照着答案学,然后去预测新数据。(有监督学习)

    • 描述性任务(聚类/关联/异常):没有标准答案,让机器自己去数据里找隐藏的结构和规律。(无监督学习)


    相异性度量与相似性度量

    一、相异性度量(Dissimilarity)—— 衡量“距离有多远”

    核心逻辑:值域为 [0, +∞),数值越大表示样本越不同。也叫“距离(Distance)”。

    度量名称公式/核心定义通俗理解适用场景
    1. 欧氏距离 (L₂) 两点之间的直线几何距离。 默认首选,适合连续数值特征(必须提前标准化!)。
    2. 曼哈顿距离 (L₁) 只能走直角拐弯的城市街区距离。 高维数据,或对异常值(离群点)比较敏感的数据。
    3. 切比雪夫距离 (L∞) 各个维度中差值最大的那个维度。 关注“最坏情况”的差距(如国际象棋国王走步)。
    4. 汉明距离 统计对应位置不同的个数 数一数两个字符串/向量有几个位置不一样。 标称属性(如性别、血型)或二进制字符串比较。

    二、相似性度量(Similarity)—— 衡量“有多像”

    核心逻辑:值域通常为 [0, 1],数值越大表示样本越相似(Pearson相关系数为[-1,1])。

    度量名称公式/核心定义通俗理解适用场景
    1. 余弦相似度 只看方向是否一致,不管长度(模长)。 文本分类(TF-IDF向量)、推荐系统(用户评分偏好)。
    2. Jaccard 系数 两个集合的交集占并集的比例。 非对称二元属性(如购物篮:都买了什么,忽略都没买的),文档去重。
    3. SMC(简单匹配系数) 匹配的属性数 / 总属性数 粗暴地看所有属性(包括0-0匹配)有多少相同。 对称二元属性(如性别:男/女两个值地位平等)。
    4. Pearson 相关系数 衡量线性相关强度 数值越接近 +1 越正相关,-1 越负相关。 连续型数据,判断两个变量是否同升同降。
    5. 互信息 (Mutual Info) 基于信息熵 捕捉任意关系(包括非线性,如 )。 强大的特征选择工具,比Pearson更通用。

    三、🔥 新手最常见的 3 个“避坑”指南

  • 看名字定属性(PPT万能法则):

    • 叫 “距离”(Distance)→ 铁定是相异性(越大越远)。

    • 叫 “系数/相似度/相关”(Coefficient/Similarity/Correlation)→ 铁定是相似性(越大越像)。

  • Jaccard 和 SMC 千万别搞混(面试必考!):

    • Jaccard:忽略“双0”(都没买的东西不算相似点)。适合“是否患病”、“是否购买”。

    • SMC:考虑“双0”(都没发生也算一致)。适合“性别”、“开关状态”。

  • 余弦 vs 欧氏(推荐系统必知):

    • 用户A评分 [2,4],用户B评分 [4,8]。欧氏距离很远(数量不同),但余弦相似度 = 1(偏好比例完全一致)。做喜好推荐时,用余弦;做物理距离时,用欧氏。


    四、📊 算法选择决策矩阵(实战建议)

    你的数据类型推荐的度量方法
    全是连续数值(身高、体重、房价) 欧氏距离(标准化后)或 曼哈顿距离
    文本数据(词频向量) 余弦相似度(经典首选)
    集合/购物篮(买/没买) Jaccard 系数
    对称二元(男女、开关) SMC
    需要捕捉非线性关系(如抛物线) 互信息(Pearson在这里会失效得0分!)
    标称分类(颜色红黄蓝、血型ABO) 汉明距离

    💡 一句话总结:“距离”选欧氏/曼哈顿,“方向”选余弦,“集合”选Jaccard,“非线性”选互信息。 理解这些,你就能轻松应对数据挖掘中大部分相似性的计算需求!


    频繁项集与关联规则

    设 X={a, b, c, d, e, f} 是频繁项集,则可由 X 产生( )个候选关联规则

    计算过程:
    频繁项集 X 的大小 k=6。
    关联规则是形如 Y→(X−Y) 的蕴涵式,其中前提 Y 必须是非空真子集(即不能是空集,也不能是全集 X本身)。
    因此,候选规则的总数为:


    下面为你详细拆解这道题背后涉及的所有核心知识点,让你彻底理解原理:

    1. 关联规则的基本形式

    • 关联规则是形如 Y→Z的表达式,其中 Y 和 Z 是不相交的项集(即 Y∩Z=∅),且 Y∪Z=X(这里的 X 是当前的频繁项集)。

    • 在规则中,Y 称为前提(LHS,左部),Z 称为结论(RHS,右部)。

    2. 为什么是 ?(数学推导)

    • 对于一个包含 k 个项的频繁项集 X,它总共有 个子集(包括空集 ∅ 和它本身 X)。

    • 排除空集(∅):规则的前提不能为空(∅→X 没有业务意义,也不符合定义)。

    • 排除全集(X):规则的结论不能为空(X→∅ 也是无意义的规则)。

    • 因此,所有可能的二元划分(即把项集分成左部和右部)数量 = 

    3. “候选” vs “强” 规则(这道题的陷阱点)

    • 题目问的是“候选关联规则”,这意味着我们仅仅是在做数学排列组合,还没有进行置信度(Confidence)筛选。

    • 在实际的 Apriori 算法(规则生成步骤)中,这些候选规则还需要经过置信度阈值(minconf)的检验。只有置信度 ≥ minconf 的规则,才会成为最终的“强关联规则”。

    • 例如,对于 X={a,b,c}(k=3),候选规则有 条:

    • {a}→{b,c}

    • {b}→{a,c}

    • {c}→{a,b}

    • {a,b}→{c}

    • {a,c}→{b}

    • {b,c}→{a}

    4. 关于规则生成的“剪枝”原理(扩展知识点)

    在 Apriori 算法生成规则时,有一个重要的反单调性定理:

    如果规则 Y→(X−Y) 不满足置信度阈值,那么任何将前提 Y 缩小为 Y′(即 Y′⊂Y)的规则 Y′→(X−Y′) 也一定不满足置信度阈值。

    基于这个定理,算法通常采用逐层递推的方式生成规则,而不是直接枚举全部 62 条,这就是 Apriori 对规则生成的剪枝优化。

    5. 总结记忆口诀


    簇评估和轮廓系数

    聚类(Clustering)是一种“无监督学习”方法,这意味着数据没有标准答案(标签)。簇评估和轮廓系数就是用来回答“聚类效果好不好”这个问题的工具。

    🎯 什么是簇评估?

    簇评估就是衡量聚类结果质量的各类方法的总称。一个好的聚类,通常希望达到 “簇内紧密,簇间分离” 。

    簇评估主要分为两类:

    • 外部评估指标:适用于有真实标签的数据,通过对比聚类结果与真实标签来打分。常见的有调整兰德系数和互信息等。

    • 内部评估指标:适用于没有真实标签的数据,仅凭数据自身的特征来评估。轮廓系数就是其中最常用的一种。

    📏 轮廓系数:聚类的“综合评分卡”

    轮廓系数 (Silhouette Coefficient) 是一个综合性的内部评估指标,它同时考虑了簇内的紧凑程度和簇间的分离程度。

    1. 核心思想:为每个点打分

    轮廓系数会为每一个数据点计算一个得分,最终取所有点得分的平均值作为整个聚类模型的最终得分。

    2. 三步计算法

    计算某个点 ( i ) 的轮廓系数,只需三步:

  • 计算内聚度 a(i):计算点 ( i ) 到其所在簇内其他所有点的平均距离。这个值越小,说明点 ( i ) 与周围的点越近,所在簇越紧凑。

  • 计算分离度 b(i):计算点 ( i ) 到其他所有簇的平均距离,然后取其中的最小值。这个值越大,说明点 ( i ) 与最近的邻居簇也离得足够远,分离得越好。

  • 套用公式:用下面这个公式计算出点 ( i ) 的轮廓系数 s(i):

  • 3. 如何看懂分数?

    单个点的轮廓系数 s(i) 的范围在 -1 到 1 之间,可以直接告诉我们这个点被分得怎么样:

    • 接近 1 (优秀):意味着 b(i)≫a(i),表示该点与所在簇非常紧密,且远离其他簇,分类正确。

    • 接近 0 (边缘):意味着 a(i)≈b(i),表示该点正好处在两个簇的边界上。

    • 接近 -1 (糟糕):意味着 a(i)≫b(i),表示该点到其他簇比到自己所在簇还近,很可能被分配错了。

    总结规律:轮廓系数越接近 1,聚类效果越好;接近 0 表示有重叠;接近 -1 则表示聚类失败。

    👍 轮廓系数的优缺点

    • 优点:

      • 无需标签:这是它最核心的优势,非常实用。

      • 直观易懂:计算和解释都很简单。

      • 帮选 K 值:可以用来比较不同 K 值下的平均轮廓系数,选择最高的那个作为最佳聚类数。

    • 缺点:

      • 对形状敏感:对于非凸形状(如长条形、环形等)的簇,评估结果可能不准确。

      • 计算开销:计算所有点对的距离,在大数据集上会比较耗时。


    序列模式挖掘-子序列

    在数据挖掘(特别是序列模式挖掘,Sequential Pattern Mining)中,子序列(Subsequence) 的判断是一个非常核心的基础概念。如果这个概念搞混,后续的“序列模式发现”和“Apriori算法”都将无法理解。

    根据你之前学习的PPT内容(chap5_2_关联分析进阶.pptx),我将为你彻底拆解判断子序列的知识点,并指出新手最容易踩的 3 个坑。


    1. 子序列的官方定义(数学逻辑)


    2. 判断子序列的“三大铁律”(避开 90% 的坑)

    新手判断子序列时,最容易犯以下三个错误,必须牢记:

    ① 铁律一:顺序必须严格一致(不能回退)

    ② 铁律二:不要求连续(可以跳跃)

    ③ 铁律三:项集内是“超集包含”(而非“相等”)
    • 这是最重要且最容易被忽视的一点!

    • 序列中每个位置的花括号 {} 里装的是一个项集(Itemset)。

    • 判断时,只要主序列对应位置的项集包含了候选序列该位置的项集即可(即 ⊆,子集关系),不需要两个集合完全一样。


    3. 手算演示(透彻理解)

    假设主序列(某用户的实际浏览路径)为:

    A=<{首页},{电子产品,手机},{电脑配件},{鼠标,键盘}>

    我们来判断以下 3 个候选序列是否为 A 的子序列:

    候选序列 B匹配过程(下标递增)是否为子序列?
    <{首页},{电脑配件}> 首页(下标1) → 电脑配件(下标3)。1 < 3 ✅ 是(跳跃了第2个元素,允许)
    <{电脑配件},{首页}> 电脑配件(下标3) → 首页(下标1)。3 < 1 ❌ 不是(顺序颠倒了,违反铁律一)
    <{手机},{鼠标}> 在“电子产品,手机”里找到手机✅ → 在“鼠标,键盘”里找到鼠标✅。且 2 < 4 是(虽然花括号里还有别的项,但包含即可)

    4. 为什么要学这个?(在算法中的应用)

    在 Apriori 算法的候选剪枝(Pruning)步骤中,判断子序列极其重要。

    规则:在生成候选 k-序列时,如果某个候选序列的 (k-1)-子序列不是频繁的,那么它本身一定不是频繁的,直接删除(剪枝)。


    5. 总结记忆口诀

    “顺序不能乱,中间可以断,集合只需含(子集),少一个都不算。”

    • 顺序不能乱:下标必须从小到大。

    • 中间可以断:不要求连续。

    • 集合只需含:主序列的项集只需“包含”候选序列的项集(超集关系),不必完全相等。

    理解好这个判断标准,你就能轻松看懂序列模式挖掘的候选项集生成和剪枝过程了!


    数据挖掘的五大任务全景式分类整理

    1. 分类方法(有监督学习 · 预测离散类别)

    核心目标:判断样本属于哪一个类别(如:是/否,猫/狗)。

    • 经典算法:

      • 决策树(ID3, C4.5, CART)

      • 支持向量机(SVM)

      • 逻辑回归(Logistic Regression)

      • K-近邻(KNN)(属于“懒惰学习”,但做的是分类任务)

      • 朴素贝叶斯(Naive Bayes)

      • 神经网络 / 深度学习(如MLP、CNN用于图像分类)

    2. 回归方法(有监督学习 · 预测连续数值)

    核心目标:预测一个具体的数值(如:房价、温度、销售额)。

    • 经典算法:

      • 线性回归(Linear Regression)

      • 回归树(Regression Tree)(CART算法用于回归的部分)

      • 支持向量回归(SVR)

      • 神经网络(输出层无激活函数,预测具体值)

    3. 聚类方法(无监督学习 · 自动分组)

    核心目标:在没有标签的情况下,根据数据的相似性自动将其划分成不同的组(簇)。“物以类聚,人以群分”。

    • 经典算法:

      • K-Means(基于划分,最常用)

      • DBSCAN(基于密度,本题选项,能处理任意形状的簇和噪声点)

      • 层次聚类(Hierarchical Clustering)(生成树状图)

    4. 关联分析方法(无监督学习 · 找搭配规律)

    核心目标:发现数据中不同项目之间的频繁模式或依赖关系(如:购物篮分析)。

    • 经典算法:

      • Apriori 算法

      • FP-Growth 算法

    5. 异常检测方法(无监督/有监督 · 找离群点)

    核心目标:识别数据中显著不同于绝大多数数据的“异常点”(如:信用卡盗刷、设备故障预警)。

    • 经典算法:

      • 孤立森林(Isolation Forest)

      • 局部异常因子(LOF)


    时间复杂度

    在下面的表格中,记:

    • n = 样本数量

    • d = 特征维度(属性个数)

    • T = 迭代次数(如梯度下降轮数、树的棵数)

    • K = 聚类数 / 类别数

    • n_sv = 支持向量个数


    1. 分类与回归方法(有监督学习)

    算法阶段正常情况(平均复杂度)最坏情况核心瓶颈
    线性回归(正规方程) 训练 O(n·d² + d³) 同左 特征维度 d 很大时,矩阵求逆极慢(d³)
    线性回归(梯度下降) 训练 O(n·d·T) 同左 样本量 n 和迭代次数 T 的乘积
    逻辑回归 训练 O(n·d·T) 同左 依赖梯度下降的收敛速度
    决策树 (CART/ID3) 训练 O(d·n·log n) O(d·n²) 对特征值排序耗时;最坏树极深(退化成链表)
    决策树 预测 O(深度) ≈ O(log n) O(n) 树若不平衡,预测会遍历很深
    SVM(非线性/核) 训练 O(n²·d) ~ O(n³) O(n³) 核矩阵计算和存储是致命伤(n>1万极难)
    SVM(线性) 训练 O(n·d) O(n·d) 线性SVM(如Liblinear)很快
    SVM 预测 O(n_sv · d) O(n·d) 若支持向量数接近 n(最坏情况),预测变慢
    KNN 训练 O(1)(懒加载) O(1) 没有训练过程,只存数据
    KNN(暴力搜索) 预测 O(n·d) O(n·d) 每次预测都要算全量距离(大数据集极慢)
    朴素贝叶斯 训练 O(n·d) O(n·d) 只扫一遍数据算频率/均值
    朴素贝叶斯 预测 O(d·K) O(d·K) 极快,查表计算
    神经网络 (MLP) 训练 O(n · 参数总量 · T) 同左 参数量巨大(百万级),依赖GPU并行;最坏可能不收敛

    2. 聚类方法(无监督学习)

    算法阶段正常情况(平均复杂度)最坏情况核心瓶颈
    K-Means 训练 O(n·K·d·T) 指数级(理论) T 通常很小(几十轮),在大数据下接近线性;但理论最坏可能指数级收敛
    DBSCAN 训练 O(n·log n)(带空间索引) O(n²) 若没有索引或高维数据(维度灾难),距离计算退化为 O(n²)
    层次聚类 训练 O(n²·d)(平均) O(n³) 维护距离矩阵极其昂贵,只适合小数据(n<5000)

    3. 关联规则挖掘

    算法阶段正常情况(平均复杂度)最坏情况核心瓶颈
    Apriori 候选生成 O(2^d)(指数级) O(2^d) 复杂度随维度(项数)指数爆炸。即使中等d(如10000个商品)也直接卡死
    FP-Growth 挖掘 O(n·d)(近似线性) O(n·d) 只需扫描两次数据库,利用FP树压缩,比Apriori快几个数量级

    4. 异常检测(补充)

    算法阶段正常情况(平均复杂度)最坏情况核心瓶颈
    孤立森林 训练 O(n·d·T) 同左 T 是树的数量(通常100棵),速度极快,线性扩展

    💡 实战避坑指南(应对面试/考试)

  • 看到“最坏情况”必选 KNN 或 Apriori:

    • KNN 没有训练时间,但预测时间 O(n·d) 是最致命的缺陷(大数据噩梦)。

    • Apriori 是指数级复杂度,只要问到“最慢的关联规则算法”,毫不犹豫选它。

  • SVM 的隐形成本:

    • 虽然理论复杂度是 O(n³),但在实际 sklearn 中使用了 SMO(序列最小优化) 算法,实际运行速度远好于理论最坏值。不过当 n > 10000 时,慎用 RBF 核。

  • 决策树的“排序”代价:

    • 很多人以为决策树很快,但每次分裂都要对 d 个特征的 n 个值排序。正常情况 O(d·n·log n),这在大数据下依然很耗 CPU。

  • 神经网络为什么没标最坏值?

    • 因为它的训练时间完全由 算力(GPU)、Batch Size 和收敛轮数决定。代码写得不好,训练 1 个月都不收敛,这就是它的“工程最坏情况”。

  • 内存占用同样重要(隐藏考点):

    • KNN 存全量数据(内存大)。

    • SVM(核方法) 需要存核矩阵 (n×n),n=10万时内存直接爆掉。

    • Apriori 候选项集数量爆炸(内存爆)。


  • 📝 速记口诀(应对选择/填空)

    “训练线性看 nd,KNN 预测扫全量;Apriori 指数炸,SVM 三次方扛大旗。”


    决策树算法-叶节点的熵

    在决策树算法中,熵(Entropy) 是衡量节点“不纯度(混乱程度)”的核心指标,而叶节点是树的末端(最终决策层)。两者的关系直接决定了决策树的分裂逻辑和停止条件。

    1. 叶节点的熵到底在算什么?

    叶节点的熵,本质上是衡量该叶节点中样本类别的纯净度。
    公式:(其中  是该节点中第 i 类样本所占的比例)

    • 熵 = 0(最理想):该叶节点里 100% 的样本都属于同一个类别(如全是“好苹果”)。此时节点“纯净”,不需要再分裂。

    • 熵 = 1(二分类时最大):该叶节点里正负样本 各占 50%(如 5个“好苹果”,5个“坏苹果”)。此时节点最“混乱”,如果这是叶节点,说明这个分法毫无区分能力。


    2. 构建树时,决策树如何利用“叶节点的熵”来分裂?

    决策树的生长是一个自上而下、贪心递归的过程,核心逻辑是降低叶节点的熵。

    • 目标:每次分裂时,都希望分裂后产生的子节点(未来的叶节点)的熵尽可能低。

    • 衡量工具(信息增益):

      算法会遍历所有特征,选择信息增益最大(即让子节点加权平均熵最小)的那个特征进行分裂。

    通俗理解:父节点是一团乱麻,算法在不断寻找能把“这团乱麻”切分成几块“相对有序(低熵)”的切法。


    3. 什么情况下停止分裂(形成叶节点)?

    在实际建树时,我们不会一直分裂到每个叶节点熵为 0(这会过拟合)。通常通过预剪枝让节点提前成为叶节点:

  • 完全纯净:当前节点的熵为 0(所有样本同类),直接标记为叶节点。

  • 特征用完:没有更多特征可供分裂。

  • 达到阈值(预剪枝):

    • 节点中的样本数 < min_samples_split,即使熵很高,也不再分裂,强行作为叶节点(并用多数类作为预测结果)。

    • 分裂带来的信息增益小于某个阈值(比如 min_impurity_decrease),说明这次分裂降低熵的幅度太小,不值得继续。


  • 4. 🧮 手算演示:叶节点熵值实战对比

    假设某节点有 10 个样本,分属 A、B 两类:


    5. 🔥 新手必看:熵 vs 基尼指数(Gini)

    你可能会疑惑,CART 算法默认用基尼指数,到底选哪个?

    • 熵(ID3/C4.5):对数运算,计算稍慢。对纯度变化 更敏感(在 pp 接近 0 或 1 时,曲线最陡),适合对树的纯度要求极高的场景。

    • 基尼指数(CART 默认):平方运算,计算更快。在实际工程(如 sklearn 默认 criterion='gini')中,两者效果差异极小,但基尼指数因为没有 log 运算,训练速度更快。

    一句话总结:熵是衡量叶节点混乱程度的“温度计”;信息增益是决定如何分裂的“指挥棒”;叶节点熵=0是终极目标,但为了防止过拟合,我们往往接受熵稍高一点的叶节点(预剪枝)。


    AdaBoost算法

    关于 Adaboost 算法,下列说法不正确的为( )
    (A) 模型的权重和为 1 (B) 增加错误分类样本的权重
    (C) 是一种集成算法 (D) 样本权重的和为 1

    1. AdaBoost 的核心思想(流程)

    AdaBoost(Adaptive Boosting)是一种串行的集成学习方法。它的工作流程就像一个“师生辅导”过程:

  • 初始:给所有样本分配相同的权重(如 1/N)。

  • 迭代训练(共 T 轮):

    • 在当前样本权重下,训练一个弱分类器 htht​(通常是决策树桩,即 max_depth=1)。

    • 计算该分类器的加权错误率 ϵtϵt​。

    • 根据 ϵtϵt​ 计算该分类器的模型权重 αtαt​(错误率越低,权重越大)。

    • 更新样本权重:增大被 htht​ 分错样本的权重,减小分对样本的权重(让下一轮模型更关注难样本)。

  • 最终集成:将 T 个弱分类器加权求和,得到强分类器。

  • 2. 新手最容易犯的 5 个认知误区(考点)

    • 误区 1(本题考点):模型权重  之和 ≠ 1。只有样本权重经过归一化后和为 1。

    • 误区 2:AdaBoost 的基学习器必须是“决策树桩”(深度为1的树)。实际上不是必须的,虽然默认是树桩,但理论上你可以用任何支持样本权重的弱学习器(如线性分类器)。

    • 误区 3:AdaBoost 对噪声很鲁棒。其实恰恰相反,AdaBoost 对异常值和噪声极其敏感。因为它会疯狂增加难分样本(包括噪声)的权重,如果噪声是离群点,模型会为了拟合它而牺牲泛化能力。

    • 误区 4:AdaBoost 和 GBDT 都是降低方差。错误,AdaBoost 和 GBDT 都是降低偏差(通过串行拟合残差/难样本),而随机森林(Bagging)才是降低方差。

    • 误区 5:样本权重更新后,错分样本的权重一定大于正确样本。不一定,它受  影响。如果上一轮分类器已经很好了(很大),错分样本的权重会被急剧放大;但如果上一轮分类器表现一般(​ 较小),权重变化幅度有限。

    总结记忆口诀

    “串行集成降偏差,错分权重翻倍加;模型权重看误差,和不一定等于 1(一)。”


    sklearn 标准接口

    Scikit-learn 通用 API 三部曲(必背!)

    方法参数签名功能本质输入数据类型
    .fit() fit(X, y) “学习”或“训练”。根据训练集的特征和标签,计算模型内部的参数(如线性回归的系数、决策树的分裂点)。 X_train (特征) 和 y_train (标签)
    .predict() predict(X) “推理”或“预测”。利用训练好的模型,仅根据新样本的特征来计算输出结果(类别或数值)。 仅需 X_test (特征)
    .score() score(X, y) “评估”。利用测试集的特征和真实标签,自动计算模型在该数据集上的平均性能(分类器返回准确率,回归器返回 R² 分数)。 X_test (特征) 和 y_test (标签)

    决策树中不纯度度量

    1. 基尼系数(Gini Index)—— CART 算法默认

    • 公式:

    • 通俗理解:从当前节点随机抽取两个样本,它们属于不同类别的概率。这个概率越大,说明节点越“混”。

    • 取值范围:二分类问题中为 [0, 0.5]。

      • 纯度最高(全是同一类):Gini = 0

      • 纯度最低(各类别 50% : 50%):Gini = 0.5

    2. 熵(Entropy) / 信息增益(Information Gain)—— ID3 / C4.5 算法

    • 公式:

    • 通俗理解:衡量节点数据的“混乱程度”或“不确定性”。你对下一个样本的猜测越难,熵就越大。

    • 取值范围:二分类问题中为 [0, 1]。

      • 纯度最高(全是同一类):Entropy = 0

      • 纯度最低(各类别 50% : 50%):Entropy = 1

    3. 分类误差(Classification Error)—— 极少用于分裂

    • 公式:

    • 通俗理解:如果把这个节点里占比最多的类别作为预测结果,出错的概率。

    • 取值范围:二分类问题中为 [0, 0.5]。

    🧮 手算小练习(加深印象)

    假设当前节点有 10 个样本:6 个“是”,4 个“否”。

    💡 实战避坑指南:
    虽然熵在理论上更敏感,但在工程实践中(如 sklearn),基尼系数和熵的表现几乎没差别。因为基尼不需要计算 log,在大数据下训练速度会稍快一点,所以 sklearn 默认选 gini。如果你的数据特别复杂,想追求极致的纯度,切到 entropy 也是完全可以的。


    数据离散化方法

    1. 三大主流离散化方法(必背)

    方法名称核心逻辑优点致命缺点(考点)
    等宽离散化 将属性的值域(最大值-最小值)均匀划分为 k 个等距区间。 实现最简单,计算极快。 对异常值极其敏感。若存在极大离群点,会导致大部分样本被挤在极窄的少数区间内,分布严重不均。
    等频离散化(等深) 将数据划分为 k 个区间,确保每个区间包含相同数量的样本。 不受异常值影响,样本分布非常均衡。 可能会把数值非常接近的样本(如 30岁和 33岁)强行分割到不同区间,丢失了数据的“邻近性”信息。
    基于聚类离散化(如K-Means) 使用 K-Means 等聚类算法,根据数据的自然分布特征进行分组。 分组结果最贴合数据的内在规律,科学性强。 计算复杂度相对较高;需要预先指定聚类的簇数 K。

    2. 为什么没有“方差离散化”?(易混淆点)

    • 方差是统计学中用来衡量一组数据离散程度(波动大小)的指标(公式 )。

    • 在数据预处理中,方差常用于特征选择(如方差过滤:剔除方差接近0的低信息量特征),而不是用来切分区间的。所以它不属于离散化方法。

    总结:记住“等宽看极值,等频看数量,聚类看分布”,同时排除掉“方差”这个统计量干扰项,这道题就能稳稳拿分了!


    混淆矩阵

    1. 混淆矩阵的 4 个基本元素(务必滚瓜烂熟)

    假设我们有一个二分类问题(正例 Positive 和 负例 Negative),模型的预测结果与真实情况会形成以下 2×2 表格:

    真实 \\ 预测预测为 正例 (Positive)预测为 负例 (Negative)
    真实为 正例 (Positive) TP (真正例)
    (正确命中)
    FN (假负例)
    (漏报:是正例却没揪出来)
    真实为 负例 (Negative) FP (假正例)
    (误报:把负例错当正例)
    TN (真负例)
    (正确放行:是负例且判为负例)

    助记技巧:第二个字母(P/N)代表“真实情况”,第一个字母(T/F)代表“预测对了/错了”。
    例如:FN 是 False + Negative → 预测为负(Negative)是错的(False)→ 说明它其实是正例,即“漏报”。

    2. 由这四个数衍生出的核心评估指标(必考)

    考试中不会只让你认字母,通常会结合场景让你计算或选择以下指标:

    指标名称计算公式通俗解释关注侧重点
    准确率 (Accuracy) (TP+TN) / (TP+TN+FP+FN) 所有预测中,猜对了多少? 整体表现(数据平衡时好用)
    精确率 (Precision) TP / (TP+FP) 模型说是正例的里面,有多少是真正例?(不冤枉好人) 避免误报(FP),如垃圾邮件过滤
    召回率 (Recall)
    (也叫灵敏度)
    TP / (TP+FN) 所有真实正例里,找回了多少?(不错杀好人) 避免漏报(FN),如癌症筛查、欺诈检测
    F1 分数 2·Precision·Recall / (P+R) 精确率和召回率的调和平均 两者兼顾,平衡指标
    特异性 (Specificity) TN / (TN+FP) 所有真实负例里,正确识别出了多少? 衡量负类的识别能力

    总结记忆口诀

    “阳(P)阴(N)真假(T/F)要分清,TN 就是负例判对刑(正确预测负样本)。”

    赞(0)
    未经允许不得转载:171主机测评 » 数据挖掘选择题知识点
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址