数据仓库、挖掘与信息检索全解析
立即解锁
发布时间: 2025-08-23 00:34:10 阅读量: 3 订阅数: 11 

# 数据仓库、挖掘与信息检索全解析
## 1. 数据仓库与挖掘基础
在数据处理领域,数据仓库和挖掘技术是至关重要的组成部分。我们先从一个疾病预测的分类器问题说起。假设有一批测试案例,其中 5% 的人患有疾病(pos),95% 的人未患病(neg),有以下三种分类器:
- **分类器 C1**:始终预测为阴性,这是一个不太有用的分类器。
- **分类器 C2**:在实际患病的人中,有 80% 预测为阳性;在未患病的人中,有 5% 预测为阳性。
- **分类器 C3**:在实际患病的人中,有 95% 预测为阳性;在未患病的人中,有 20% 预测为阳性。
### 1.1 分类器性能评估
对于这三个分类器,我们可以从以下几个指标进行评估:
| 分类器 | 准确率 | 精确率 | 召回率 | 特异度 |
| ---- | ---- | ---- | ---- | ---- |
| C1 | 需根据公式计算(后续给出具体计算过程) | 需根据公式计算(后续给出具体计算过程) | 需根据公式计算(后续给出具体计算过程) | 需根据公式计算(后续给出具体计算过程) |
| C2 | 需根据公式计算(后续给出具体计算过程) | 需根据公式计算(后续给出具体计算过程) | 需根据公式计算(后续给出具体计算过程) | 需根据公式计算(后续给出具体计算过程) |
| C3 | 需根据公式计算(后续给出具体计算过程) | 需根据公式计算(后续给出具体计算过程) | 需根据公式计算(后续给出具体计算过程) | 需根据公式计算(后续给出具体计算过程) |
计算这些指标的公式如下:
- **准确率(Accuracy)**:$Accuracy = \frac{TP + TN}{TP + TN + FP + FN}$
- **精确率(Precision)**:$Precision = \frac{TP}{TP + FP}$
- **召回率(Recall)**:$Recall = \frac{TP}{TP + FN}$
- **特异度(Specificity)**:$Specificity = \frac{TN}{TN + FP}$
其中,TP 表示真正例(实际患病且预测为阳性),TN 表示真反例(实际未患病且预测为阴性),FP 表示假正例(实际未患病但预测为阳性),FN 表示假反例(实际患病但预测为阴性)。
以分类器 C1 为例,由于它始终预测为阴性,所以 TP = 0,FN = 实际患病的人数,TN = 实际未患病的人数,FP = 0。假设总测试案例数为 100,那么实际患病的人数为 5,未患病的人数为 95。则 C1 的准确率为:$Accuracy = \frac{0 + 95}{0 + 95 + 0 + 5} = 0.95$,精确率由于分母为 0 无意义(因为没有预测为阳性的案例),召回率为 0(因为没有正确预测出患病的案例),特异度为 1(因为所有未患病的都被正确预测为阴性)。
对于分类器 C2 和 C3,我们可以根据它们各自的阳性预测比例,结合实际患病和未患病的人数,计算出 TP、TN、FP 和 FN 的值,再代入上述公式计算各项指标。
### 1.2 分类器的选择
分类器的选择取决于具体的应用场景:
- **用于进一步筛查疾病**:我们希望尽可能多地找出可能患病的人,所以更注重召回率。分类器 C3 的召回率相对较高,因为它在实际患病的人中预测为阳性的比例达到 95%,所以在这种情况下,C3 可能是更好的选择。
- **用于开始药物治疗**:由于药物对未患病的人可能有有害影响,我们更关注精确率,即预测为阳性的案例中实际患病的比例。分类器 C2 在未患病的人中预测为阳性的比例相对较低,精确率可能相对较高,所以 C2 可能更合适。
### 1.3 数据仓库与挖掘相关练习
除了分类器的问题,还有一些其他的练习可以帮助我们更好地理解数据仓库和挖掘技术。
- **列存储结构**:需要绘制大学教室关系在列存储结构下的存储示意图。列存储结构是将数据按列存储,而不是按行存储,这样在某些查询场景下可以提高效率。
- **嵌套循环连接算法**:该算法在列存储数据库中表现不佳。因为嵌套循环连接算法需要逐行比较,而列存储结构的数据按列存储,逐行访问效率较低。可以采用哈希连接算法作为替代,哈希连接算法的步骤如下:
1. 选择较小的表,对连接属性构建哈希表。
2. 扫描较大的表,对于每一行,根据连接属性的值在哈希表中查找匹配的行。
3. 将匹配的行组合成结果集。
哈希连接算法的优势在于它利用哈希表的快速查找特性,减少了不必要的比较,提高了连接效率。
- **决策树分类器**:使用关系 r(A, B, C) 中的元组作为训练数据构建决策树分类器,其中属性 C 表示类别。构建决策树的步骤如下:
1. 计算每个属性的信息增益,选择信息增益最大的属性作为根节点。
2. 根据该属性的不同取值,将数据集划分为多个子集。
3. 对每个子集重复步骤 1 和 2,直到满足停止条件(如所有样本属于同一类别或达到最大深度)。
例如,对于给定的元组 (1, 2, a), (2, 1, a), (2, 5, b), (3, 3, b), (3, 6, b), (4, 5, b), (5, 5, c), (6, 3, b), (6, 7, c),我们可以计算每个属性的信息增
0
0
复制全文
相关推荐









