首页 / 专利库 / 电脑编程 / K最近邻算法 / 数据挖掘中数据分析方法的推荐方法

数据挖掘中数据分析方法的推荐方法

阅读:1030发布:2020-05-27

专利汇可以提供数据挖掘中数据分析方法的推荐方法专利检索,专利查询,专利分析的服务。并且本 发明 属于数据分析技术领域,具体为一种 数据挖掘 中数据分析方法的推荐方法。本发明的分析方法推荐方法主要包含四个部分:(1)基于数据集的最近邻推荐;(2)基于分析方法的协同过滤;(3)神经协同过滤;(4)推荐结果的融合。本发明通过基于数据分析的交互历史,挖掘数据集和分析方法的隐语义作为推荐依据,最终返回适合数据集的分析方法。本发明可帮助用户快速找到合适的分析方法,挖掘数据集中的信息。,下面是数据挖掘中数据分析方法的推荐方法专利的具体信息内容。

1.一种数据挖掘中数据分析方法的推荐方法,其特征在于,具体步骤如下:
给定m个数据集Di和n个分析方法Mj的交互矩阵Am*n,其中,Aij为数据集Di上分析方法Mj的得分,i=1,2,…,m,j=1,2,…,n,该得分由分析方法Mj在数据集Di上的误差和其他数据分析用户的评价得到:
(1)采用基于数据集的最近邻算法,预测数据集Di上分析方法Mj的得分,具体步骤为:
(1.1)对矩阵Aij做奇异值分解,得到矩阵Pm*k,Ik*k,Qk*n,使得A=P*I*Q;其中,矩阵P为数据集的隐因子矩阵,行向量Pi为数据集Di的特征向量;矩阵Q为分析方法的隐因子矩阵,列向量Qj为分析方法Mj的特征向量;
(1.2)对于数据集Di,定义它与数据集Dj的相似度
其中,α1+α2=1, 为数据集Di和数据集Dj特征向量间的余弦相似度, 为数据集Di和数据集Dj特征向量间的氏相似度;
(1.3)计算数据集两两之间的相似度;
(1.4)对一个数据集Di,选取与它相似度最高的10个数据集构成数据集Di的最近邻集合(1.5)根据这些最近邻数据集上的评分记录,计算数据集Di上方法Mj的得分(2)采用基于分析方法的协同过滤算法,预测数据集Di上分析方法Mj的得分,具体步骤为:
(2.1)对矩阵Aij做奇异值分解,得到矩阵Pm*k,Ik*k,Qk*n,使得A=P*I*Q;其中,矩阵P为数据集的隐因子矩阵,Pi为数据集Di的特征向量;矩阵Q为分析方法的隐因子矩阵,Qj为分析方法Mj的特征向量;
(2.2)对于分析方法Mi,定义它与分析方法Mj的相似度
其中,α1+α2=1, 为数据集Di和数据集Dj特征向量间的余弦相似度,
为数据集Di和数据集Dj特征向量间的马氏相似度;
(2.3)计算分析方法两两之间的相似度;
(2.4)对一个数据集Di,根据该数据集上对每个分析方法的评分记录,计算数据集Di上方法Mj的得分
(3)采用奇异值分解的神经协同过滤算法,预测数据集Di上分析方法Mj的得分,具体步骤为:
(3.1)首先对矩阵Aij做奇异值分解,得到矩阵 使得A=PS*IS*QS;其
中,矩阵PS为数据集的隐因子矩阵, 为数据集Di的特征向量;矩阵QS为分析方法的隐因子矩阵, 为分析方法Mj的特征向量;
(3.2)再通过一个4层的MLP学习数据集Di和分析方法Mj的隐向量 和 向量维度与奇异值分解得到的向量维度相同;其中,激活函数使用ReLU函数;输出层的计算公式为:
……
其中,yui是数据集Di和分析方法Mj的预测评分,hT表示输出层边缘权重,zi是第i层的输出;
(3.3)结合前两步得到的隐向量,输出层的计算公式为:
其中, 是通过奇异值分解预测的得分, 是通过MLP预测的得分;使用sigmoid函数输出最后的预测得分;
(3.4)将数据集做10-fold交叉检验的训练,通过反向传播和随机梯度下降,得到模型最终参数;计算每个数据集Di上方法Mj的得分
(4)融合步骤(1)、(2)、(3)中三种模型预测的结果,具体步骤为:
(10)
(4.1)计算每种模型的误差:在测试数据集上计算三种模型的NDCG ,记为N1,N2,N3;
(4.2)融合前面三种模型预测的结果,得到最终数据集Di上方法Mj的得分:
其中
按照得分降序,返回列表中前十的算法作为推荐候选集,再按照{特征工程:2,模型选择:5,模型融合:1,调参、数据预处理:2}的上限做出过滤,即返回的算法中,属于“特征工程”的方法不超过2个,属于“模型选择”的方法不超过5个,属于“模型融合”的方法不超过1个,属于“调参、数据预处理”的方法不超过2个,此即为最后对数据分析任务推荐的方法列表。

说明书全文

数据挖掘中数据分析方法的推荐方法

技术领域

[0001] 本发明属于数据分析技术领域,具体涉及数据挖掘中数据分析方法的推荐方法。

背景技术

[0002] 随着数据科学的不断发展,数据挖掘所解决的问题日趋复杂,而对应的技术也层出不穷。在诸多数据分析的算法和模型中进行选择成为一个棘手的问题。另外,对于不同类型、不同分布的数据,选择的模型是否合适,数据分析的流程是否合理,对于数据挖掘的结果的影响举足轻重。而且,在实际的数据挖掘场景中,通过多次迭代找到最优的模型和算法也往往费神耗时。
[0003] 随着算的提高和数据库服务等技术的发展,有条件进行数据挖掘的用户成倍增多,而他们大多数并不是统计分析和数据挖掘的专家,对他们而言,选择合适的模型几乎是不可能的任务。为此,本发明将传统推荐领域的思路和技术应用于这个问题,提出了一种分析方法的推荐算法,为用户推荐合适的分析方法,帮助用户挖掘数据中蕴含的信息。

发明内容

[0004] 本发明的目的在数据挖掘过程中,提供一种分析方法的推荐算法,为具有数据挖掘需求的用户推荐合适的数据分析方法,帮助用户更快更好地完成数据分析任务。
[0005] 本发明提供的分析方法的推荐方法,具体步骤如下:
[0006] 给定m个数据集Di和n个分析方法Mj的交互矩阵Am*n,其中,Aij为数据集Di上分析方法Mj的得分,i=1,2,…,m,j=1,2,…,n,该得分由分析方法Mj在数据集Di上的误差和其他数据分析用户的评价得到。
[0007] (1)采用基于数据集的最近邻算法(Cover T M,Hart P.Nearest neighbor pattern classification[J].IEEE transactions on information theory,1967,13(1):21-27.),预测数据集Di上分析方法Mj的得分,具体步骤如下:
[0008] (1.1)对矩阵Aij做奇异值分解,得到矩阵Pm*k,Ik*k,Qk*n,使得A=P*I*Q;其中,矩阵P为数据集的隐因子矩阵,行向量Pi为数据集Di的特征向量;矩阵Q为分析方法的隐因子矩阵,列向量Qj为分析方法Mj的特征向量;
[0009] (1.2)对于数据集Di,定义它与数据集Dj的相似度其中, 为数据集Di和数据集Dj特征向量间的余弦相似度,
为数据集Di和数据集Dj特征向量间的氏相似度;
[0010] (1.3)计算数据集两两之间的相似度;
[0011] (1.4)对一个数据集Di,选取与它相似度最高的10个数据集构成数据集Di的最近邻集合
[0012] (1.5)根据这些最近邻数据集上的评分记录,计算数据集Di上方法Mj的得分:
[0013]
[0014] (2)采用基于分析方法的协同过滤算法(Sarwar B M,Karypis G,Konstan J A,et al.Item-based collaborative filtering recommendation algorithms[J].Www,2001,1:285-295.),预测数据集Di上分析方法Mj的得分,具体步骤如下:
[0015] (2.1)与(1.1)中相同,对矩阵Aij做奇异值分解,得到矩阵Pm*k,Ik*k,Qk*n,使得A=P*I*Q;其中,矩阵P为数据集的隐因子矩阵,Pi为数据集Di的特征向量;矩阵Q为分析方法的隐因子矩阵,Qj为分析方法Mj的特征向量;
[0016] (2.2)对于分析方法Mi,定义它与分析方法Mj的相似度其中,α1+α2=1, 为数据集Di和数据集Dj特征向量间的余弦相似度,
为数据集Di和数据集Dj特征向量间的马氏相似度;
[0017] (2.3)计算分析方法两两之间的相似度;
[0018] (2.4)对一个数据集Di,根据该数据集上对每个分析方法的评分记录,计算数据集Di上方法Mj的得分:
[0019] (3)采用奇异值分解的神经协同过滤算法(He X,Liao L,Zhang H,et al.Neural collaborative filtering[C]//Proceedings of the 26th international conference on world wide web.International World Wide Web Conferences Steering Committee,2017:173-182.),预测数据集Di上分析方法Mj的得分,具体步骤如下:
[0020] (3.1)首先对矩阵Aij做奇异值分解,得到矩阵 (上标S表示该矩阵由奇异值分解SVD得来,后同;m为矩阵的行数,k为矩阵的列数,后同),奇异值矩阵 使得A=PS*IS*QS;其中,矩阵PS为数据集的隐因子矩阵,其中每个行向量 为对应数据集Di的特征向量;矩阵QS为分析方法的隐因子矩阵,其中每个列向量 为对应分析方法Mj的特征向量;
[0021] (3.2)再通过一个4层的MLP(多层感知机)学习数据集Di和分析方法Mj的隐向量和 向量维度与奇异值分解得到的向量维度相同;其中,激活函数 为ReLU函数;输出层的计算公式为:
[0022]
[0023]
[0024] ……
[0025]
[0026]
[0027] 其中,zi是第i层的输出,yui是数据集Di和分析方法Mj的预测评分,hT表示输出层边缘权重,ai是第i层的缩放系数,bi是第i层的偏置常数,pu是用户特征,qi是物品特征;σ是sigmoid函数;
[0028] (3.3)结合前两步(通过SVD和MLP)得到的隐向量,输出层的计算公式为:
[0029]
[0030]
[0031]
[0032] 其中, 是通过奇异值分解预测的得分, 是奇异值分解得到的比赛i的隐因子向量, 是奇异值分解得到的模型j的隐因子向量。 是通过MLP预测的得分,aL...a2是每一层的缩放系数, 是每一层的权重向量,b2...bL是每一层的偏置,其中下标L是MLP的层数;在第三式中, 代表将两个向量concat,再与输出层边缘权重向量hT做内积,将内积的结果经过sigmoid函数σ运算得到最后的预测得分;
[0033] (3.4)将数据集做10-fold交叉检验的训练,通过反向传播和随机梯度下降,得到模型最终参数;计算每个数据集Di上方法Mj的得分
[0034] (4)融合步骤(1)、(2)、(3)中三种模型预测的结果,具体步骤如下:
[0035] (4.1)计算每种模型的误差:在测试数据集上计算三种模型的NDCG(10),记为N1,N2,N3;
[0036] (4.2)融合前面三种模型预测的结果,得到最终数据集Di上方法Mj的得分Sij:
[0037]
[0038] 其中, 即根据每个模型预测结果的质量,决定每个模型在最终结果中的权重; 是之前每种模型为比赛i下模型j预测出的得分。
[0039] 按照得分降序,返回列表中前十的算法作为推荐候选集,再按照{特征工程:2,模型选择:5,模型融合:1,调参、数据预处理:2}的上限做出过滤。即返回的算法中,属于“特征工程”的方法不超过2个,属于“模型选择”的方法不超过5个,属于“模型融合”的方法不超过1个,属于“调参、数据预处理”的方法不超过2个。此即为最后对数据分析任务推荐的方法列表。
[0040] 本发明通过对数据集-分析方法矩阵的挖掘和学习,得到数据集的隐特征和分析方法的隐特征,并采用三种不同的策略计算每种方法的推荐得分,最终得出推荐的方法列表。本发明可以帮助用户找到合适的分析方法和模型,节省迭代找到最优模型、算法的时间,更快地完成数据挖掘。附图说明
[0041] 图1为分析方法推荐算法的流程和框架

具体实施方式

[0042] 在数据挖掘问题中,选取需要进行数据分析的数据集,按照上文所述的方法进行推荐,会返回推荐方法的列表。选取列表中不同阶段的方法,进行组合,就可以构建一套从【特征工程】到【数据预处理】到【模型】、【调参】到【模型融合】的分析流程。将这套流程采用常用的机器学习框架构建出来,再将数据输入流程,即可初步完成数据分析任务。
[0043] 现举例说明。对kaggle下的比赛Titanic:Machine Learning from Disaster(根据乘客个人信息和所给的训练数据,预测泰坦尼克号生还者)做分析方法推荐。
[0044] 首先采用基于数据集的最近邻算法,预测该比赛下每个分析方法的得分:
[0045] 对【比赛——分析方法交互矩阵】做奇异值分解,得到每个比赛的特征向量。
[0046] 根据特征向量,计算Titanic比赛与其他所有比赛的相似度,并选择相似度最高的10个比赛,将这10个比赛下的分析方法得分按照相似度的加权,得到Titanic的最近邻推荐向量。向量每一维的数值代表对于分析方法的预测得分。
[0047] 再采用基于分析方法的协同过滤算法,预测该比赛下每个分析方法的得分:
[0048] 对【比赛——分析方法交互矩阵】做奇异值分解,得到每个分析方法的特征向量。
[0049] 根据特征向量,计算每个分析方法之间的相似度。
[0050] 对Titanic下的每个模型,将其他模型在Titanic比赛下的得分,按照其他模型和该模型之间的相似度加权,累加得到该模型的预测得分。此步完成后得到Titanic的协同过滤推荐向量。向量每一维的数值代表对于分析方法的预测得分。
[0051] 再采用奇异值分解的神经协同过滤算法,预测该比赛下每个分析方法的得分:
[0052] 首先通过对原始矩阵的奇异值分解,得到奇异值矩阵(包含比赛的奇异值隐向量和分析方法的奇异值隐向量)。
[0053] 再训练一个4层的神经网络,输出所有比赛的MLP隐向量和所有分析方法的MLP隐向量。
[0054] 将两步得到的隐向量连接起来,乘以边缘权重后,再通过激活函数得到最后每个比赛下每个分析方法的预测得分。
[0055] 将上面得到的三个结果,按照在测试集上计算出的权重进行融合,就能得到Titanic比赛下最终每个模型的得分。按照得分降序选出排名前十的模型如下:
[0056] svm,logistic regression,xgboost,random forest,gbdt,bagging,nearest neighbors,kernel density estimation,kmeans,ngram。
[0057] 按照{特征工程:2,模型选择:5,模型融合:1,调参、数据预处理:2}的上限做出过滤后,最终返回的模型是{svm(模型),logistic regression(模型),xgboost(模型),nearest neighbors(模型),gbdt(模型,特征工程),random forest(特征工程),bagging(模型融合)},用户可以按照推荐的模型,构建工作流如下:
[0058] 先使用gbdt和random forest构造特征,再将构造特征和原始特征一同输入logistic regression、svm中进行二分类预测;再采用xgboost做二分类预测;最后三个模型将得到的结果通过bagging融合,得到最后的预测结果。
[0059] 对于Titanic:Machine Learning from Disaster比赛来说,上述构建的工作流复杂度合适,预测精度高,是一条高质量的机器学习工作流。
[0060] 表1:数据集-分析方法矩阵结构和部分数据展示
[0061]
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈