机器学习与数据挖掘期末复习
作业题汇总
作业1

- 正确选项:A、C
- 解析
- 连续属性的核心特点:取值可覆盖某一区间内的任意数值,能无限细分。
- 选项判断:
- A. 人的身高:可取170cm、170.2cm等任意精度的数值,符合连续属性定义。
- B. 人的性别:仅能取“男”“女”等固定类别,属于离散属性。
- C. 人的体重:可取50kg、50.1kg等任意精度的数值,符合连续属性定义。
- D. 人的国籍:仅能取有限的国家名称,属于离散属性。
离散属性与连续属性对比
| 属性类型 | 特点 | 示例 |
|—————|———|———|
| 离散属性 | 取值为有限类别/离散值,不可细分 | 性别、国籍、学历 |
| 连续属性 | 取值为区间内任意数值,可无限细分 | 身高、体重、温度 |

- 正确选项:B、C
- 解析调整
- 对选项C的补充说明:离群点本身是合法数据(并非错误),其是否保留需结合场景——若分析场景需要覆盖“特殊样本”(比如研究某群体的极端情况),离群点应保留;仅当分析目标是“多数样本的共性”时,才考虑剔除。因此“是合法的数据对象,数据预处理中要保留”这一表述,在“需保留离群点的场景”下是成立的。
- 修正后的选项分析
- A. 错误:离群点是合法但特征特殊的数据,噪声是数据错误,二者本质不同。
- B. 正确:符合离群点的核心定义(与大部分数据特征差异显著)。
- C. 正确:离群点是合法数据,在需要分析特殊样本的场景中,预处理时应保留。
- D. 错误:离群点是合法数据,并非必须滤除。

正确选项:C、D、E
解析
数据挖掘的核心目标:
从大量数据中自动发现潜在的模式、规律或知识,而不仅仅是执行简单的查找或匹配操作。判断关键标准:
是否涉及模式发现、预测、分类、异常检测等智能分析过程。选项判断:
- A. 信用卡欺诈消费检测:
通过分析大量历史交易数据,识别异常消费行为,属于异常检测与分类问题,是典型的数据挖掘应用。 - B. 网络入侵检测:
通过分析网络流量和行为模式,发现潜在攻击或异常行为,属于模式识别与分类,属于数据挖掘应用。 - C. 共享文档中搜索一个关键字:
属于基于关键词的字符串匹配或信息检索,不涉及模式发现,不属于数据挖掘。 - D. 京东上搜索一本书:
搜索行为本质是信息检索(关键词匹配),不等同于基于用户行为的推荐系统,因此不属于数据挖掘。 - E. 手机通讯录上通过电话找一个联系人:
属于简单查询操作,仅进行精确匹配,不涉及数据分析或知识发现。
- A. 信用卡欺诈消费检测:
数据挖掘与信息检索对比
| 对比维度 | 数据挖掘 | 信息检索 / 查询 |
|---|---|---|
| 核心目的 | 发现潜在规律和知识 | 查找已知目标 |
| 是否产生新知识 | 是 | 否 |
| 是否需要模型或算法 | 通常需要 | 通常不需要 |
| 自动化与智能性 | 高 | 低 |
| 典型应用 | 欺诈检测、入侵检测、用户画像 | 文档搜索、联系人查找 |

- 均值计算:
均值 = (1 + 3 + 5 + 7 + 9 + 95)÷ 6 = 120 ÷ 6 = 20 - 中值计算:
先将数据集按升序排列:1、3、5、7、9、95
数据个数为偶数时,中值是中间两个数的平均值,即(5 + 7)÷ 2 = 6 - 答案:均值是20,中值是6

先明确混淆矩阵的四个核心指标:
- 真正例(TP):实际患病且被诊断为患病的人数 = 48
- 假正例(FP):实际健康但被诊断为患病的人数 = 2
- 假反例(FN):实际患病但被诊断为健康的人数 = 60 - 48 = 12
- 真反例(TN):实际健康且被诊断为健康的人数 = 40 - 2 = 38
精度(Precision)的计算:
精度 = TP / (TP + FP) = 48 / (48 + 2) = 48 / 50 = 0.96(或96%)召回率(Recall)的计算:
召回率 = TP / (TP + FN) = 48 / (48 + 12) = 48 / 60 = 0.8(或80%)答案:精度是0.96,召回率是0.8
作业2

最少二元属性数量计算
要表示6种取值,需满足 2^k ≥ 6,解得 k = 3(因为 2^2 = 4 < 6,2^3 = 8 ≥ 6),因此最少需要3个二元属性。两种编码方案
方案1:最少二元属性编码(二进制编码)
用3个二元属性(记为A、B、C),将6种尺码映射为3位二进制数:
| 尺码 | 二元属性A | 二元属性B | 二元属性C |
|---|---|---|---|
| S | 0 | 0 | 0 |
| M | 0 | 0 | 1 |
| L | 0 | 1 | 0 |
| XL | 0 | 1 | 1 |
| XXL | 1 | 0 | 0 |
| XXXL | 1 | 0 | 1 |
方案2:One-Hot(独热)编码
需与取值数量相等的二元属性(6个),每个属性对应一种尺码,取值为1表示对应尺码,0表示不对应:
| 尺码 | 属性1(S) | 属性2(M) | 属性3(L) | 属性4(XL) | 属性5(XXL) | 属性6(XXXL) |
|---|---|---|---|---|---|---|
| S | 1 | 0 | 0 | 0 | 0 | 0 |
| M | 0 | 1 | 0 | 0 | 0 | 0 |
| L | 0 | 0 | 1 | 0 | 0 | 0 |
| XL | 0 | 0 | 0 | 1 | 0 | 0 |
| XXL | 0 | 0 | 0 | 0 | 1 | 0 |
| XXXL | 0 | 0 | 0 | 0 | 0 | 1 |
- 结论
- 最少二元属性数量:3个
- One-Hot编码所需二元属性数量:6个
| 编码类型 | 核心原理 | 适用场景 | 优点 | 缺点 | 示例(以属性“尺码:S、M、L、XL、XXL”为例) |
|---|---|---|---|---|---|
| 二进制编码 | 将离散属性的每个取值映射为整数,再转换为二进制数,用二进制位对应二元属性 | 离散属性取值较少、无明确序关系 | 占用特征维度少(仅需$\lceil log_2m \rceil$个) | 引入虚假序关系,扭曲属性间距离 | 整数映射:S=0、M=1、L=2、XL=3、XXL=4;二进制属性:X1(高位)、X2、X3(低位) S(0)→000,M(1)→001,L(2)→010,XL(3)→011,XXL(4)→100 |
| 独热编码(One-Hot) | 为每个属性取值创建独立二元属性,取值为1表示对应属性值,0表示不对应 | 离散属性无序号关系(如性别、国籍) | 无虚假序关系,保留属性原始分布 | 特征维度爆炸(需m个二元属性) | 属性1(S)、属性2(M)、属性3(L)、属性4(XL)、属性5(XXL) S→10000,M→01000,L→00100,XL→00010,XXL→00001 |
| 标签编码(Label Encoding) | 直接将离散属性的每个取值映射为唯一整数 | 有序离散属性(如等级:差、中、好) | 编码简单,占用维度最少(仅1个) | 非有序属性会引入虚假序关系 | S→0,M→1,L→2,XL→3,XXL→4 |
| 目标编码(Target Encoding) | 用属性取值对应的目标变量统计值(如均值、中位数)作为编码值 | 高基数离散属性(如城市、用户ID) | 不增加维度,保留目标相关信息 | 易过拟合,需交叉验证避免泄露 | 若目标为“是否购买”,S对应购买率30%→编码0.3,M对应购买率50%→编码0.5,以此类推 |
| 计数编码(Count Encoding) | 用属性取值在数据集中的出现次数作为编码值 | 高基数离散属性,无明显目标关联 | 编码简单,不增加维度 | 相同计数的取值无法区分,可能丢失信息 | 若S出现20次→20,M出现35次→35,L出现30次→30,XL出现15次→15,XXL出现10次→10 |











先看一下pr曲线和ROC曲线的ppt

描述对应的评价标准
标准:- (a) 对应查准率(精度):“抓的人当中真正是小偷的比例”,即“预测为正例的样本中实际正例的比例”,符合查准率的定义。
- (b) 对应查全率(召回率):“所有小偷中被抓到的比例”,即“实际正例的样本中被预测为正例的比例”,符合召回率的定义。
人脸检测算法的精度与召回率计算
首先确定混淆矩阵指标:- 真正例(TP):实际是人脸且被检测为人脸的数量 = 40
- 假正例(FP):实际非人脸但被检测为人脸的数量 = 10
- 假反例(FN):实际是人脸但未被检测为人脸的数量 = 80 - 40 = 40
精度(Precision):

召回率(Recall):

结果汇总
| 评价标准 | 数值 |
|---|---|
| 精度 | 0.8 |
| 召回率 | 0.5 |

但是ROC在复习ppt中没有所以我选择先放掉。
回到题目,人脸检测算法的精度与召回率计算。

首先解释一下这个表格,有点怪但也还可以懂。我们将每一步的预测结果都列出来就会好理解很多。
首先明确:要计算不同阈值下的精度(查准率)和召回率(查全率),需先按预测概率从高到低排序样本,再依次以每个样本的概率为阈值(将≥该阈值的样本判定为“包含人脸”),计算对应指标。
步骤1:排序样本(按预测概率降序)
| 样本序号 | 真实标签(是否有人脸) | 预测概率 |
|---|---|---|
| 1 | 是(正例) | 0.9 |
| 2 | 是(正例) | 0.7 |
| 3 | 否(反例) | 0.5 |
| 4 | 否(反例) | 0.3 |
| 5 | 是(正例) | 0.1 |
步骤2:逐阈值计算精度和召回率
总正例数(真实有人脸的样本数)=3,总反例数(真实无人脸的样本数)=2。
| 阈值(判定为“有人脸”的最低概率) | 判定为“有人脸”的样本 | TP(真实有人脸且判定正确的数量) | FP(真实无人脸但判定错误的数量) | 精度(Precision)= TP/(TP+FP) | 召回率(Recall)= TP/总正例 |
|---|---|---|---|---|---|
| 0.9(仅样本1满足) | 样本1 | 1 | 0 | 1/1=1 | 1/3≈0.33 |
| 0.7(样本1、2满足) | 样本1、2 | 2 | 0 | 2/2=1 | 2/3≈0.67 |
| 0.5(样本1、2、3满足) | 样本1、2、3 | 2 | 1 | 2/3≈0.67 | 2/3≈0.67 |
| 0.3(样本1、2、3、4满足) | 样本1、2、3、4 | 2 | 2 | 2/4=0.5 | 2/3≈0.67 |
| 0.1(所有样本满足) | 所有5个样本 | 3 | 2 | 3/5=0.6 | 3/3=1 |







