***关联推荐!
频繁模式:频繁地出现在数据集中的模式,给出数据集中反复出现的联系。
频繁序列模式:如 有序购买一系列产品
频繁结构模式:如 组合购买产品
sample
购物篮分析:通过发现顾客放入他们购物篮中的商品之间的关联,分析顾客的购物习惯,这种关联度发现可以帮助零售商在哪些商品频繁被顾客同时购买而帮助他们定制更好的营销策略。
经常同时购买的东西可以摆放得近一点,有助于增加商品的销售
关联规则:支持度(support)与置信度(confidence)反映所发现规则的有用性与确定性
computer->antivirus_software[support=2%;confidence=60%]
意味所分析的所有事物的2%显示计算机与杀毒软件被同时购买,置信度60%意味着购买计算机的顾客60%也购买了杀毒软件
如果关联规则满足 最小支持度阈值与最小置信度阈值,它可以被认为是有趣的
支持度(Support)是指一个规则在数据集中出现的频率。它表示了规则的普遍性或广泛性。支持度越高,表示规则在数据集中出现的频率越高,规则越有可能是有意义的。
置信度(Confidence)是指在规则的前提条件下,规则的结论发生的概率。它表示了规则的可信度或准确性。置信度越高,表示规则的结论发生的概率越大,规则越可靠。
关联规则挖掘
首先找出频繁项目集,然后由它们产生形如A->B的强关联规则,这些规则满足最小置信度阈值,可以进一步分析关联。
设 II={I1,I2,...Im}是项的集合,设任务相关的数据D是数据库事务的集合,其中每一个事务T是一个非空项集,使得T属于II。每一个事务都有一个标识符,成为TID。设A为一个项集,事务T包含A,当且仅当A属于T。关联规则是形如A->B的蕴涵式,其中A属于II,B属于II,A、B均不为空,且A∩B不为空。规则A到B的在事务集D中成立,具有支持度S,其中s是D中事务包含A∪B的百分比。它是概率P(A∪B)。规则A->B在事物集D中具有置信度c,其中c是D中包含A的事务同时也包含B的事务百分比,这是条件概率P(B|A)
即
support(A->B)=P(A∪B)
confidence(A->B)=P(B|A)
同时满足最小支持阈值与最小置信度阈值的规则称为强规则。
项的集合 成为项集。包含k个项的项集成为k项集。集合{computer,antivirus_soft-ware}是一个二项集,它的出现频度是包含项集的 事务数,简称为项集的频度、支持度计数或者计数。出现频度称为 绝对支持度
如果项集II的相对支持度满足预定义的最小支持度阈值,则II是频繁项集
confidence(A->B)=P(B|A)= support(A∪B)/support(A)=support_count(A∪B)/support_count(A)
一旦得到A、B、A∪B的支持度计数,导出对应的关联规则 A->B与B->A,并检查它们是否强规则是直截了当的。因此,关联规则的问题可以归结为挖掘频繁项集。
关联规则的挖掘过程
1、找出所有的频繁项集:每个项集出现次数必须至少与预定义的最小支持计数一样。
2、由频繁项集产生强关联规则:根据定义,这些规则必须满足最小支持度与最小置信度。
频繁项集的挖掘方法
Apriori先验算法:使用频繁项集性质的先验只是,使用一种逐层搜索的迭代算法,k项集用于探索(k+1)项集。通过扫描数据库,累计每一个项的技术,收集满足最小支持度的项,找出频繁1的项集的集合。该集合记为L1,然后使用L1,找到频繁2项集的集合L2,使用L2找出L3,如此下去,直到找不到k频繁项集。找出每一个Lk需要一次数据库的完整扫描。
先验性质:频繁项集的所有非空子集也一定是频繁的。
反单调性如果一个集合不能通过测试,它的所有超集也不能通过相同的测试,称之为反单调的,因为在通不过测试的意义下,性质是单调的。
FP树:通过模式增长挖掘频繁模式
辅助决策:相关分析
可以使用相关性度量来扩充关联规则的支持度-置信度框架。
lift(A,B)=P(A∪B)/P(A)P(B)
如果该值小于一,说明是负相关;如果大于一,则可能是正相关;如果等于一,说明是独立的没有相关性。
使用卡方进行相关性分析
卡方=求和(观测值-期望值)²/期望值
Kulczynski度量是一种用于衡量两个集合之间相似性的度量方法。它基于集合的共同元素数量来计算相似性。Kulczynski度量计算两个集合的共同元素数量与它们的平均元素数量之比。
Kulczynski度量的取值范围在0到1之间。当两个集合完全相同时,Kulczynski度量为1;当两个集合没有共同元素时,Kulczynski度量为0。
非所有强关联的规则都是有趣的,应当使用模式评估度量来扩展支持度-置信度框架,促进更加有趣的规则挖掘,以产生更有意义的相关规则。此处催件使用kulczynski度量与不平衡度一起使用,提供项集之间的模式联系。
不平衡度是指在一个系统或者数据集中,不同类别或者属性之间的分布不均衡程度。在机器学习和数据挖掘中,不平衡度是一个重要的概念,特别是在处理二分类问题时。在这种情况下,如果正例和负例的数量差异很大,就会导致模型训练的不平衡,从而影响模型的性能和准确度。
不平衡度可以通过不平衡比例、不平衡因子或者不平衡度指标来衡量。常用的不平衡度指标包括正例比例、负例比例、Gini系数、信息增益、Kappa系数等。这些指标可以帮助我们评估数据集的不平衡程度,并采取相应的策略来处理不平衡数据,例如使用重采样技术、调整分类器的阈值、使用代价敏感学习等方法。
总之,不平衡度是指不同类别或者属性之间分布不均衡的程度,对于机器学习和数据挖掘任务来说,了解和处理不平衡度是非常重要的。
其中,常见的不平衡度具体计算方法如下:
-
正例比例(Positive Proportion):正例比例是指在样本中正例的比例,计算方式为正例数量除以总样本数量。
-
负例比例(Negative Proportion):负例比例是指在样本中负例的比例,计算方式为负例数量除以总样本数量。
-
Gini系数(Gini Coefficient):基尼系数是衡量数据集纯度的指标,用于评估分类模型的性能
Gini(p) = 1 - Σ(pi^2)
其中,p表示数据集中每个类别的比例,pi表示每个类别的概率。Gini指数越小表示集合被选中的样本被参错的概率越小,即集合的纯度越高。反之,集合越不纯。当集合中所有样本为一个类时,基尼指数为0
Sample
假设有一个数据集,包含5个样本,分为两个类别:A和B。其中,类别A有3个样本,类别B有2个样本。
首先,计算每个类别的概率:
p_A = 3 / 5 = 0.6
p_B = 2 / 5 = 0.4
计算基尼系数:
Gini(p) = 1 - (p_A^2 + p_B^2)
= 1 - (0.6^2 + 0.4^2)
= 1 - (0.36 + 0.16)
= 1 - 0.52
= 0.48
-
信息增益(Information Gain):信息增益是一种衡量特征对分类任务的贡献程度的指标,它的取值范围在0到1之间,值越大表示特征对分类任务的贡献越大。信息增益是在决策树算法中用于衡量一个特征对于分类系统的重要性的指标。它表示选择一个特征后,系统的信息不确定性减少的程度。信息增益越大,说明该特征对于分类系统的贡献越大,因此在特征选择时应优先选择具有较大信息增益的特征。信息增益的计算涉及到信息熵的概念。信息熵是衡量系统不确定性的指标,它表示系统中信息的平均不确定性。在决策树算法中,我们希望通过选择特征来减少系统的信息熵,从而提高分类的准确性。
具体计算信息增益的步骤如下:
step1 计算原始系统的信息熵,即未选择任何特征时的系统熵。
step2 对于每个特征,计算选择该特征后的系统熵。
step3 计算每个特征的信息增益,即原始系统熵减去选择该特征后的系统熵。
计算方式为使用特征进行分类前后的信息熵差值。信息熵是用来衡量信息的不确定性或者信息量的概念。它是由克劳德·香农在信息论中引入的。信息熵的值越大,表示信息的不确定性越高,信息量也就越大。相反,信息熵的值越小,表示信息的不确定性越低,信息量也就越小。
H(X) = -Σ(p(x) * log2(p(x)))
-
Kappa系数(Kappa Coefficient):Kappa系数是一种衡量分类精度的指标,它的取值范围在-1到1之间,值越大表示分类精度越高。计算方式为观测值与期望值之间的差异除以观测值与最差情况下的差异之和。
Q7对于一个发展超过100万篇发表在计算机科学会议和杂志上的论文项,里面很多作者都有合著者关系。
(a)请提出一种方法,挖掘密切相关的写文章的合著者关系。
(b)根据挖掘结果与常见的模式评估度量,讨论哪种度量可能比其他度量能更加令人信服地解释紧密合作模式。
(c)基于以上研究,开发一种方法,能粗略预测导师与学生关系,以及这种指导的近似周期
(a) 一种方法是使用共现矩阵来挖掘密切相关的写文章的合著者关系。共现矩阵是一个矩阵,其中行和列分别表示作者,矩阵中的每个元素表示两个作者共同发表论文的次数。通过计算共现矩阵,可以找到频繁共同发表论文的作者对,从而挖掘出密切相关的写文章的合著者关系。
(b) 常见的模式评估度量包括Jaccard相似度、余弦相似度和Pearson相关系数。这些度量可以用来衡量两个作者之间的合作紧密程度。其中,Jaccard相似度衡量的是两个作者共同发表论文的比例,余弦相似度衡量的是两个作者合作论文的方向一致性,Pearson相关系数衡量的是两个作者合作论文的线性相关性。在评估这些度量时,可以比较它们在解释紧密合作模式方面的效果,选择最能令人信服的度量。
(c)一种方法是通过分析合著者关系网络中的节点和边的特征来预测导师与学生关系。例如,可以使用图论算法来识别具有导师特征的节点,并通过分析节点之间的连接模式来推断导师与学生之间的关系。此外,可以使用时间序列分析方法来分析合著者关系网络中的合作模式的变化,从而预测导师与学生关系的近似周期。
时间序列分析方法是一种用于处理时间序列数据的统计学方法。
它涉及对时间序列数据进行建模、预测和分析,以了解数据中的趋势、季节性和周期性等特征。时间序列分析方法可以帮助我们理解数据的变化模式,并用于预测未来的趋势和行为。
常用的时间序列分析方法包括:
-
时间序列规则法:将时间序列数据转化为特征,如将分类变量转化为哑变量,然后使用线性回归等方法进行建模和预测。
-
传统时序建模方法:如ARIMA(自回归移动平均模型)和ARMA(自回归移动平均模型),用于对时间序列数据进行建模和预测。
-
时间序列分解法:将时间序列数据分解为趋势、季节性和残差等组成部分,以便更好地理解数据的变化模式。
-
特征工程:对时间序列数据进行特征提取和处理,如处理时间戳、创建lag特征和time-step特征等,以便更好地建模和预测。
-
监督学习方法:如LGBM(LightGBM)、Xgboost和Catboost等,用于对时间序列数据进行建模和预测。
-
Facebook Prophet:一种开源的时间序列预测库,可以自动检测和建模时间序列数据中的趋势和季节性。
-
深度学习方法:如注意力机制(attention)、卷积神经网络-深度神经网络(CNN-DNN)和循环神经网络(RNN)等,用于将时间序列数据转化为图像,并使用卷积神经网络进行建模和预测。