计算机复试 数据挖掘学习笔记 (配合mooc 国科大数据挖掘的课程)
完全新手 可能有错误
大数据:数据量大, 数据产生很快, 种类多
传统意义上处理数据的软件无法处理的规模的数据
应用:预测犯罪发生 提前组织犯罪
分析DNA 进行针对治疗
交通规划
数据挖掘是自动地从大量的,不可比较的且混乱的数据中提取有趣的有用的隐藏模式
形式化定义
分类问题
找到一个比较规则,简洁的方式将数据进行有边界的划分
混淆矩阵
ROC曲线(性能指标)
提升度(用了模型和没用模型选中的概论)
聚类:
距离度量
欧式距离
关联规则:买了这个可能会买另一个
线性回归
数据预处理
数据清洗:填充 标准化, 类型转换,特征选择,采样
棱镜事件:美国全球监听(阅读上出现过,监听政敌策略)
云计算:当软件,硬件当做资源,根据真实所需从提供商那里租用服务器 (pay as you go)
数据和特征决定了机器学习的上线,而算法和模型只能用来不断接近这个上界
异常点和差异点有区别 异常点是本身出问题,差异点是某些特征突出
数据分类:
滑动窗口算法:给每行数据生成一个key
不平衡数据:拿到数据自己平衡一下
整体数据的精确度不适合不平衡数据
数据规范化
数据分析
特征选择(熵)
PCA
LDA 这两都是降维
数据库只能给出存储的数据
数据挖掘是指从数据中提取信息和知识
数据->信息->情报->知识->智慧
数据类型:
- 标称:可列举的数据
- 二进制:
- 对称 男女
- 非对称 阴性阳性(癌症)
- 二进制:
- 序数:排名
- 区间标度属性 温度,日历 (没有0,倍数的概念)
- 比率标度属性 长度, 重量(具有倍数的概念)
数据可视化
- 箱线图 能够分析多个属性数据的分布差异性
- 直方图 分析单个属性在各个区间的分布
- 可以发现特征对类别的区别性
- 散点图 为了显示两组之间的相关性分布
度量数据的相似性和相异性
相异矩阵:
数据之间的数据:
- 标称类型的数据:简单匹配
- 二值型数据测量距离: 仅考虑小部分那部分数据
- 数值属性的近邻性度量:
- 曼哈顿距离 两个点在标准坐标系上的绝对轴距和
- 欧式距离 两点之间的距离
- 上确界距离
- 数据清洗
- 缺失的数据想办法填充 (忽略,平均数填充 众数填充)
- 噪音数据 进行删除 (箱线图找出离群点)
- 不正确的数据 进行纠正
- 数据集成:将来自多个数据源的数据合成一个连贯的数据源 E-R图合并冲突
- 实体识别:实体来自多个数据源 但是是同一个实体
- 数据冲突检测和解决:同一个实体来自不同源的数据(可能是单位,或者尺度不一样)
- 处理数据冗余问题
- 数据转换: 用二进制表示离散型数据
- 数据规约 降低数据的存储或者处理时间
- 降维
- 随着维数增加,数据会变得越来越稀疏,它会淹没真实关系的数据
- 高维数据采用基于规则的分类方法(维度越高越复杂)
- 采用复杂模型, 但是训练数据较少
- 需要可视化
- 降维方法
- PCA 维度之间的线性变换(Zi = ki1*X1+.....kip*Xp) 将n维降为一维
- 降数据(抽样(放回,不放回))
- 数据压缩
数据的转换和离散化
- 降维
- 规范化
- 为什么: 按比例压缩放到一个具体区间
- 最小最大规范化 (适合已经统计好的数据, 将数据映射到[0,1]中)
- Z-分数规范化 (适合流式数据, 将不同量级的数据转化为同一个量级的数据)
- 小数定标
- 离散化
- 等宽法 (通过区间划分)
- 等频法 (将取值出现的频数来划分,将属性的值域划分成小区间,并且要求落在每个区间的数据数目相同)
- 聚类 (非监督机器学习)
不平衡分类: - 抽样
- 欠抽样(随机抽取100个负样本,与所有的正样本一起形成训练集, 多次执行不充分抽样,并归纳类似于集成学习方法的多分类器)
- 过抽样(反复采样,容易过拟合)
每个元组都可预先定义为一个类 ,由一个称为类标号属性的数据库属性确定。 类标号属性:是 离散的 和 无序的 。
分类(监督式机器学习):找出描述和区分数据类或概念的模型,以便能够使用模型对未知对象类的标号进行预测
- 朴素贝叶斯分类器
- 极大后验假设
- 通过假设所有先验概率都是独立的来降低联合概论的计算复杂度 但正是如此在属性之间相关性较大时,分类效果不好
- 决策树分类
- Hunt算法 采用局部最优策略来构造决策树
- 划分:标称数据(二路划分,多路划分) 序数数据(二路划分,或者根据每一个序数进行划分) 连续的数据(离散化 然后划分)
- 纯性: 纯性的程度越高,类分布越倾斜,划分效果越好
- 信息增益算法 用信息增益算法中用信息增益最多的属性当上层节点 信息增益=原始的信息熵-选取某个节点后得到的信息熵
- 要求属性都是离散的,如果是连续的则需要离散化
- Gini指数 信息熵计算开销大,用Gini指数用来降低计算开销
- 最大错误数
- 决策树要避免过拟合 不然会导致新数据出现错误
- Hunt算法 采用局部最优策略来构造决策树
聚类(无监督学习): 把数据对象集合按照相似性划分成多个子集的过程 每个子集是一个簇,使得簇之间的对象相似,但和其他簇中的对象不相似
- k-均值算法(K-means):
- k的值对聚类结果有影响
- 数据的分布对聚类效果有影响(适合球状紧密的簇)
- 初值的均值点的选择 (k均值++算法 尽可能选择距离远的点作为初始均值点)
- 常常终止于局部最优
- 只适合连续的数据(通过k众数算法 解决k均值算法只适合连续数字的问题)
- 凝聚法: 置底向上的凝聚, 将相似的簇一步步凝聚在一起,最后形成过的大簇
- 聚类的趋势
- k的确定: 肘方法:不断调整k 计算簇内方差, 找到使簇内方差下降明显的k值
- 聚类质量:
(最近邻)knn分类器- 急切学习 贝叶斯分类,决策树分类
- 惰性学习(knn):把训练数据建模过程推迟到需要对样本分类时
- rote-learner:基础所有训练数据,只有当属性完全匹配的时候才划分到该类
- 最相近的进行分配(kd-Tree, kd-ball 用来存储已经计算完的数据) 得到最近的k个样本然后进行加权求和
逻辑回归
- 逻辑回归函数 (最早应用于疾病预测领域)
- f(x) = e^x /(1+e^x)
- 线性分类器
- 逻辑斯特函数 判断某个因素从对某个结果的影响 取前后两个状态p1,p2, p1 = 发生某因素/不发生某因素 p2同理 然后得到p2/p1 的系数判断相关性(>1(正) <1(负))
- 逻辑回归正规化 通过正则化引入误差模型中使得权重尽可能小
- L1正则化(要么取1 要么取0 主要用于降低维度) L2正则化(拟回归)
- 数值优化
关联规则 反映一个事物与其他事务之间的相互依存性和关联性,如果两个或多个事物之间存在一定的关联关系,那么其中一个事物发生就能预测与它相关联的其他事物的发生
- 项集:包含0个或多个项的集合
- k-项集
- 支持度计数:包含特定项集的事务个数
- 支持度:包含项集的事务数与总事务数的比值
- 频繁项集:满足最小支持度阈值的所有项集(最小支持度阈值需要事先制定)
- 最大频繁项集:它的直接超集都不是频繁的
- 关联规则:X->Y
- 置信度:确定Y在包含X的事务中出现的频繁程度
- 在给定事务的集合T,关联规则发现是指找出支持度大于等于minsup(最小支持度阈值)并且执行都大于等于minconf(最小置信度阈值)的所有规则
- 步骤:找出频繁项-> 然后计算置信度,大于最小置信度阈值的则可以进行预测
- Apriori(先验原理)
- 如果一个项集是频繁的,则它的所有子集一定也是频繁的,如果一个项集是非频繁的,则它的所有超集也一定非频繁的
- 可以通过先验原理进行剪枝,剪掉非频繁项以及其超集
- 然后对一个多项集进行字典序排序 减少重复计算支持度的次数
- 两个项都去掉最后一个项后他们的其他项都相同则他们可以进行连接(降低候选项的规模)
- 缺点:需要反复连接操作, 而且会导致候选项的规模越来越大
- FPGrowth 频繁模式树
- 扫描数据库建模式增长树 重复出现则累加 得到频繁1-项集
- 再次读数据构建模式格式树,读一条数据就建立一条路径路径重复则累加
- 条件模式库: 模式增长基
- 完备
- 紧密
- 挖掘关联规则
- 产生关联规则
- 产生频繁项
- 根据置信度产生关联规则
感知机
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本