一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于KNN算法的数据分析方法、装置、设备及存储介质与流程

2021-12-13 01:01:00 来源:中国专利 TAG:

基于knn算法的数据分析方法、装置、设备及存储介质
技术领域
1.本技术涉及人工智能技术领域,主要涉及了一种基于knn算法的数据分析方法、装置、设备及存储介质。


背景技术:

2.在人工智能(artificial intelligence,ai)模型训练过程中,经常需要大量的数据进行训练。然而,待训练的原始数据和待识别的原始数据中可能存在缺失的数据。例如,公司财报中的净资产收益、全部债务、负债合计等涉及公司经营状态,可能为缺失的数据,从而导致对该公司的经济状态的数据分析失败或准确率低。
3.目前,通常采用全部填充0,或者平均值,或者中位数的方式对缺失的数据进行填充。以上三种填充方式简单粗暴,不能反映样本的真实面貌,导致数据分析失败或分析的准确率低。


技术实现要素:

4.本技术实施例提供了一种基于knn算法的数据分析方法、装置、设备及存储介质,能够预测缺失的数据,可提高数据分析的成功率和准确率,有利于提高模型训练的精确度和模型识别的准确率。
5.第一方面,本技术实施例提供一种基于knn算法的数据分析方法,其中:
6.接收数据分析指令;
7.若所述数据分析指令对应的数据集中存在缺失数据,则基于所述缺失数据的属性获取所述缺失数据的关联数据;
8.基于knn算法对所述缺失数据的属性和所述数据集,以及所述关联数据和所述关联数据的属性进行处理,得到所述缺失数据的目标预测值;
9.基于所述目标预测值和所述数据集进行数据分析。
10.第二方面,本技术实施例提供一种基于knn算法的数据分析装置,其中:
11.通信单元,用于接收数据分析指令;
12.获取单元,用于若所述数据分析指令对应的数据集中存在缺失数据,则基于所述缺失数据的属性获取所述缺失数据的关联数据;
13.处理单元,用于基于knn算法对所述缺失数据的属性和所述数据集,以及所述关联数据和所述关联数据的属性进行处理,得到所述缺失数据的目标预测值;基于所述目标预测值和所述数据集进行数据分析。
14.第三方面,本技术实施例提供一种计算机设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,所述程序包括用于如第一方面中所描述的部分或全部步骤的指令。
15.第四方面,本技术实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储计算机程序,其中,所述计算机程序使得计算机执行以实现如第一方面中所
描述的部分或全部步骤。
16.实施本技术实施例,将具有如下有益效果:
17.采用了上述的基于knn算法的数据分析方法、装置、设备及存储介质之后,若接收到数据分析指令,则确定数据分析指令对应的数据集中是否存在缺失数据。若是,则基于缺失数据的属性获取缺失数据的关联数据。再基于knn算法对缺失数据的属性和数据集,以及关联数据和关联数据的属性进行处理,得到缺失数据的目标预测值。如此,能够预测缺失的数据,且基于knn算法对缺失数据进行预测,可使预测得到的目标预测值保持或接近原有的数据分布形态,提高了预测缺失数据的准确率。然后,基于目标预测值和数据集进行数据分析。如此,提高了数据分析的成功率和准确率,有利于提高模型训练的精确度和模型识别的准确率。
附图说明
18.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.其中:
20.图1为本技术实施例提供的一种基于knn算法的数据分析方法的流程示意图;
21.图2为本技术实施例提供的一种基于knn算法的数据分析装置的结构示意图;
22.图3为本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
23.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。根据本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
25.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
26.本技术实施例应用的网络架构包括服务器和电子设备。本技术实施例不限定电子设备和服务器的数量,服务器可同时为多个电子设备提供服务。服务器可以用独立的服务器或者多个服务器组成的服务器集群来实现。
27.电子设备可以是个人计算机(personal computer,pc)、笔记本电脑或智能手机,
还可以是一体机、掌上电脑、平板电脑(pad)、智能电视播放终端、车载终端或便捷式设备等。pc端的电子设备,例如一体机等,其操作系统可以包括但不限于linux系统、unix系统、windows系列系统(例如windows xp、windows 7等)、mac os x系统(苹果电脑的操作系统)等操作系统。移动端的电子设备,例如智能手机等,其操作系统可以包括但不限于安卓系统、ios(苹果手机的操作系统)、window系统等操作系统。
28.本技术实施例中的电子设备可以安装并运行应用程序,服务器可以是电子设备所安装的应用程序对应的服务器,为应用程序提供应用服务。其中,应用程序可以是单独集成的应用软件,或其它应用中嵌入的小程序,或者网页上的系统等,在此不做限定。
29.服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
30.本技术实施例可以基于knn算法对缺失的数据进行预测。其中,k

最邻近分类算法(k

nearest neighbors,knn)是一种机器学习算法。对于给定测试样本,基于距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。k通常是不大于20的整数。
31.knn算法在分类任务中可使用投票法,选择这k个样本中出现最多的类别标记作为预测结果。knn算法在回归任务中可使用平均法,将这k个样本的实值输出标记的平均值作为预测结果。当然还可以基于距离远近程度进行加权平均等方法。一般距离使用欧氏距离计算或曼哈顿距离计算等。
32.本技术实施例提出的一种基于knn算法的数据分析方法,该方法可以由基于knn算法的数据分析装置执行,其中该装置可由软件和/或硬件实现,一般可集成在服务器中,能够预测缺失的数据,可提高数据分析的成功率和准确率,有利于提高模型训练的精确度和模型识别的准确率。
33.具体的,请参照图1,图1是本技术提供的一种基于knn算法的数据分析方法的流程示意图。以该方法应用在服务器为例进行举例说明,包括如下步骤s101

s104,其中:
34.s101:接收数据分析指令。
35.在本技术实施例中,数据分析指令用于指示进行数据分析,可包括待分析的数据集的指示信息。该指示信息可包括数据集的标识信息或数据分析的数据的类型或相关信息,从而基于指示信息查找数据分析指令对应的数据集。本技术对于数据集中数据的类型不作限定,可以为疾病诊断的数据、企业信息管理的数据、公司的财报数据等。数据集的应用场景可以包括医疗、建筑、互联网等领域。
36.数据分析指令还可包括数据分析的方法,即如何进行数据分析等。数据分析指令还可包括数据分析的要求,即获取什么类型的数据结果和数据结果的流向等,在此不做限定。数据分析指令可以为用户发送的,或者可以为服务器自动触发的,例如,检测周期到达时、新上传数据之后,或数据校验时确定存在较多问题等。
37.s102:若所述数据分析指令对应的数据集中存在缺失数据,则基于所述缺失数据的属性获取所述缺失数据的关联数据。
38.在本技术实施例中,缺失数据为数据集中缺失数值或文字等内容的数据。该缺失数据可以为难以获取的数据,或者可以为非必须填写的数据,或获取失败的数据等。其中,
难以获取的数据可以包括隐私数据,例如,净资产收益、全部债务、负债合计等涉及公司经营状态的数据。又例如,用户的工资、健康数据、定位信息等。非必须填写的数据可以包括表格或问卷等文件中没有标记为必须填写的数据,可以理解,若数据没有标记为必须填写的数据,则用户可以在不填写此类数据的情况下进行文件提交。获取失败的数据可以包括导入文件中未提供的数据,或数据格式出错的数据等。
39.缺失数据的属性可以基于该缺失数据的名称进行确定。在一种可能的示例中,若确定所述缺失数据满足预设条件,则执行所述基于所述缺失数据的属性获取所述缺失数据的关联数据的步骤。
40.其中,预设条件可以为缺失数据的数量大于第一阈值,本技术对于第一阈值不作限定,可以为预先指定的数值,或者根据数据集中的数据总数,或数据集中数据项的总数等进行计算得到。例如,数据项的总数为100,第一阈值为60。可以理解,在缺失数据的数量大于第一阈值时,表示缺失数据的个数较多,可以基于knn算法获取缺失数据的目标预测值,有利于提高数据分析的准确率。而在缺失数据的数量小于或等于第一阈值时,表示缺失数据的个数较少,对于整个数据集的影响较小,可以不预测缺失数据,或者采用全部填充0,或者平均值,或者中位数的方式等进行填充,以减少服务器的处理功耗。
41.预设条件还可以为缺失数据的重要值大于第二阈值,重要值用于描述缺失该缺失数据对于数据分析结果影响的重要性。可以基于数据分析中所需要的必要数据是否包含缺失数据,以及必要数据和关联数据之间的关联关系进行确定等,在此不做限定。关联关系可以为上下游关系,或者平行关系等。
42.本技术对于第二阈值不做限定,可以为预先指定的数值,或者根据数据集中的数据总数,或数据集中数据项的总数等进行计算得到。可以理解,在缺失数据的重要值大于第二阈值时,表示缺失数据对于数据分析结果的影响较大,可以基于knn算法获取缺失数据的目标预测值,有利于提高数据分析的准确率。而在缺失数据的重要值小于或等于第二阈值时,表示缺失数据对于数据分析结果的影响较小,可以不预测缺失数据,或者采用全部填充0,或者平均值,或者中位数的方式等进行填充,以减少服务器的处理功耗。
43.在本技术实施例中,关联数据可以包括数据集中除缺失数据之外,与缺失数据同一属性的未缺失的数据,或者可以包括基于该数据项中的数据标识查找到的信息。例如,缺失数据为用户的工资,关联数据可以为基于用户的身份标识(例如,姓名、身份证号码、工作编号等)查找年龄、性别、学历、专业、工作经验、家庭情况、工作单位、职级、职业证书等与工资相关的信息。可以理解,关联数据可能包括缺失数据的部分信息,或者可以基于关联数据推断出部分的缺失数据,因此结合关联数据进行数据预测,可提高预测的成功率。
44.本技术对于基于缺失数据的属性获取关联数据的方法不作限定,在一种可能的示例中,可以包括以下步骤a1~a4,其中:
45.a1:获取所述缺失数据的属性对应的关联词。
46.在本技术实施例中,关联词可以为缺失数据的属性存在关联属性的词汇。可以通过预先存储的常见词汇之间的映射关系进行获取等,在此不做限定。在一种可能的示例中,步骤a1可以包括以下步骤a11和步骤a12,其中:
47.a11:基于所述缺失数据的属性获取所述缺失数据的名称对应的知识图谱。
48.a12:从所述知识图谱中查找与所述缺失数据的名称具有连接关系的词汇,得到所
述缺失数据的属性对应的关联词。
49.知识图谱(knowledge graph),通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。知识图谱把复杂的知识领域通过数据挖掘、信息处理、知识计量和图形绘制而显示出来,揭示知识领域的动态发展规律,为学科研究提供切实的、有价值的参考。
50.在本技术实施例中,缺失数据的名称对应的知识图谱中包括缺失数据的名称,用于描述缺失数据的名称和当前数据集中缺失数据的属性对应的知识领域内信息之间的关联关系。该知识图谱中的节点和节点之间存在连接线,表示两个节点对应的信息具有关联关系。且节点和节点之间可能存在数值,表示两个节点之间的关联值。如此,通过查找知识图谱中与缺失数据的名称具有连接关系的词汇,可得到缺失数据的属性对应的关联词。
51.a2:确定所述关联词的属性与所述数据集中除所述缺失数据之外的第一数据的属性是否相同。
52.若是,则执行步骤a3:将所述第一数据作为所述缺失数据的关联数据。否则,可执行步骤a4:基于所述关联词的属性和所述数据集的属性查找所述缺失数据的关联数据。
53.可以理解,若数据集中存在关联词的属性对应的数据,则可以直接从数据集中获取缺失数据的关联数据。否则,可以基于关联词的属性和数据集的属性查找缺失数据的关联数据,从而可提高获取关联数据的有效性。
54.本技术对于关联词的属性和数据集的属性查找缺失数据的关联数据的方法不做限定,可以基于数据集的属性查找参考知识图谱,再从参考知识图谱中查找关联词的属性对应的关联词具有连接关系的词汇,得到缺失数据的关联数据。或者基于关联词的属性查找多个词汇,再从多个词汇中选取与数据集的属性对应的词汇,作为缺失数据的关联数据。
55.s103:基于knn算法对所述缺失数据的属性和所述数据集,以及所述关联数据和所述关联数据的属性进行处理,得到所述缺失数据的目标预测值。
56.本技术对于获取目标预测值的方法不作限定,在一种可能的示例中,步骤s103可以包括以下步骤b1~b8,其中:
57.b1:基于所述缺失数据的属性和所述关联数据的属性构建初始模型。
58.在本技术实施例中,初始模型是指第一次对缺失数据进行预测的模型。该初始模型中存在多层网络,每一层网络的网络参数可以称为该层网络的权重的初始值。本技术对于构建初始模型的方法不作限定,可以确定初始模型中每一层网络的层数、层类型或权重的初始值。在一种可能的示例中,步骤b1可以包括以下步骤b11~b14,其中:
59.b11:基于所述缺失数据的属性和所述关联数据的属性确定初始模型中每一层网络的层类型以及层数。
60.在本技术实施例中,层类型可以为池化层、全连接层、激活层、卷积层等类型,在此不作限定。卷积层用于提取特征,通常位于神经网络模型的前面。池化层具有特征不变性和防止过拟合的优势,通常位于卷积层的后面。激活层用于增加神经网络模型的非线性,通常位于池化层的后面。全连接层在整个神经网络模型中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。
61.层数为每一种层类型对应的层网络的数量,例如,卷积层的层数为4,池化层的层数为1,全连接层的层数为2,激活层的层数为1等。可以理解,不同的数据的属性对应不同的特征。因此,在该示例中,基于缺失数据的属性和关联数据的属性确定初始模型中每一层网络的层类型以及层数,有利于提高构建的初始模型预测的准确率。
62.b12:获取所述关联数据和所述缺失数据之间的关联值。
63.在本技术实施例中,关联数据和缺失数据之间的关联值可以通过关联数据和缺失数据之间的关联关系,以及关联数据和缺失数据之间的数值关系进行获取等。例如,关联数据为总公司的员工工资,缺失数据为分公司的员工工资,则关联数据和缺失数据为同类型的数据,关联关系为同级关系。总公司的员工工资和分公司的员工工资之间的数值关系为1.2倍,则关联值可以为1.2。又例如,关联数据为员工的职位和工作资历,缺失数据为员工的员工工资,则关联数据和缺失数据之间的关联关系为上下游关系,数值关系可以基于职位和工作资历对应的工资计算公式,则关联值可以为基于该计算公式得到。
64.b13:基于所述关联值确定所述初始模型中每一层网络的权重的初始值。
65.在本技术实施例中,可以预先存储不同关联值和每一层网络的权重的初始值之间的映射关系,或者预先设置关联值和权重的初始值之间的关系式等。如此,在获取关联数据和缺失数据之间的关联值之后,可基于该关联值确定初始模型中每一层网络的权重的初始值,提高了确定初始值的效率。
66.b14:基于所述初始值、所述层类型和所述层数构建所述初始模型。
67.可以理解,在步骤b11~b14中,先基于缺失数据的属性和关联数据的属性确定初始模型中每一层网络的层类型以及层数,以及基于关联数据和缺失数据之间的关联值确定初始模型中每一层网络的权重的初始值。再基于每一层网络的层类型、层数和权重的初始值构建初始knn模型,便于提高采用初始knn模型进行预测的准确率。
68.b2:将所述关联数据和所述数据集中除所述缺失数据之外的第一数据进行划分,得到至少两组训练数据集。
69.在本技术实施例中,训练数据集中不包含缺失数据,有利于提高模型预测的准确率。每一组训练数据集中的数据的数量可以相同,或不同。每一组训练数据集中的数据的数量可以为k,即每一次从关联数据和第一数据中选取k个数据进行训练。本技术对于k的大小不做限定,k为大于2的整数。k的大小可以为指定的数值,例如,10等。或者可以基于关联数据的属性的个数进行确定的数值等。例如,关联数据的属性的个数为2,则k可以为8。关联数据的属性的个数为3,则k可以为7等。
70.b3:基于所述训练数据集对所述初始模型进行训练,得到初始knn模型。
71.本技术对于初始模型的训练方法不做限定,可以采用批量梯度下降算法(batch gradient descent,bgd)、随机梯度下降算法(stochastic gradient descent,sgd)或小批量梯度下降算法(mini

batch sgd)等进行训练,一个训练周期由单次正向运算和反向梯度传播完成。在训练得到的损失函数小于预设阈值,或者所有的训练数据集完成一次训练之后,确定训练完成,将训练得到的神经网络模型称为初始knn模型。
72.b4:从所述关联数据中选取k个第一预测数据。
73.在本技术实施例中,k个第一预测数据可以为随机选取的k个关联数据。或者可以基于关联数据的属性和缺失数据的属性所确定的关联值,将关联值进行排序,选取的前k个
关联值对应的关联数据作为k个第一预测数据。如此,基于k个第一预测数据获取缺失数据的第一预测值,可提高预测缺失数据的准确率。
74.b5:将所述k个第一预测数据输入至所述初始knn模型,得到所述缺失数据的第一预测值。
75.在本技术实施例中,第一预测值是将k个第一预测数据输入至初始knn模型得到的预测值,可以理解为基于初始knn模型和k个关联数据获取的缺失数据的预测值。
76.b6:基于所述关联数据确定所述缺失数据的数据分布形态。
77.在本技术实施例中,缺失数据的数据分布形态用于描述缺失数据对应的数据类型中不同情况下的数值。在一种可能的示例中,步骤b6包括以下步骤:将所述关联数据中属性与所述缺失数据的属性相同的关联数据作为第一关联数据,将所述关联数据中除所述第一关联数据之外的关联数据作为第二关联数据;基于所述第一关联数据获取所述缺失数据的数据分布曲线;确定所述第二关联数据和所述缺失数据之间的关联关系;基于所述关联关系对所述数据分布曲线进行校验,得到所述缺失数据的数据分布形态。
78.可以理解,关联数据中属性与缺失数据的属性相同的关联数据,表示为关联数据中包含其他情况下的缺失数据,将该关联数据作为第一关联数据。关联数据中除第一关联数据之外的数据,表示为计算缺失数据的相关数据,将其作为第二关联数据。如此,基于第二关联数据和缺失数据之间的关联关系,对基于第一关联数据获取的缺失数据的数据分布曲线进行校验,得到缺失数据的数据分布形态,从而基于缺失数据本身以及相关数据获取缺失数据的数据分布形态,提高了获取数据分布形态的准确率。
79.b7:基于所述数据分布形态获取所述第一预测值的评价值。
80.在本技术实施例中,评价值用于描述第一预测值的准确率。在获取缺失数据的数据分布形态之后,可基于该数据分布形态确定当前的缺失数据的参考预测值。再基于参考预测值和第一预测值之间的差值获取第一预测值的评价值。若差值越小,表示第一预测值越符合缺失数据的分布形态,则第一预测值的评价值越大。
81.b8:若所述第一预测值的评价值大于预设阈值,则确定所述第一预测值为所述缺失数据的目标预测值。
82.在本技术实施例中,目标预测值是指评价值小于预设阈值的预测值。本技术对于预设阈值不做限定,若第一预测值的评价值小于预设阈值,则表示第一预测值与缺失数据的真实数据相差较大。因此,需要重新训练knn模型。否则,可以将第一预测值作为目标预测值。
83.可以理解,在步骤b1~b8中,先基于缺失数据的属性和关联数据的属性构造初始模型,以及将关联数据和数据集中除缺失数据之外的第一数据进行划分,得到至少两组训练数据集。然后,分别基于训练数据集对初始模型进行训练,得到初始knn模型。再从关联数据中选取k个第一预测数据。将该k个第一预测数据输入至初始knn模型,得到缺失数据的第一预测值。然后基于关联数据确定缺失数据的数据分布形态,基于该数据分布形态获取第一预测值的评价值。再基于该评价值和预设阈值的大小关系,确定第一预测值是否为目标预测值。如此,基于缺失数据的属性和数据集,以及关联数据和关联数据的属性构建的knn模型,以及关联数据中的k个第一预测数据预测缺失数据,提高了获取目标预测值的准确率。且在预测缺失数据之后,还基于关联数据的数据分布形态校验第一预测值,可进一步提
高获取目标预测值的准确率。
84.在另一种可能的示例中,在步骤b7之后,还可包括以下步骤b9~b13,其中:
85.b9:若所述第一预测值的评价值小于或等于所述预设阈值,则基于所述评价值对所述初始knn模型的网络参数进行调整,得到调整knn模型。
86.在本技术实施例中,可以预先存储不同评价值或评价值对应的数值和层网络之间的网络参数之间的映射关系或关系表达式。如此,在获取评价值之后,可以基于该映射关系或关系表达式确定初始knn模型的网络参数的调整值或调整之后的数值,提高了确定调整网络参数的效率。
87.其中,评价值对应的数值可以为调整值。调整值的大小可以记为k

,k

为不等于k,且大于或等于2的整数。也就是说,本技术对于预测缺失数据的关联数据的数量的调整不做限定,可以在k的基础上进行增大或减小。
88.b10:基于所述评价值从所述关联数据中选取k

个第二预测数据。
89.在本技术实施例中,第二预测数据的选取方法可参照第一预测数据的选取方法,在此不再赘述。k

的大小可以由评价值进行确定,例如,评价值小于预设阈值的60%时,k

可以等于0.8倍k。评价值大于预设阈值的60%,且小于预设阈值的80%时,k

可以等于0.9倍k。评价值大于预设阈值的20%,且小于预设阈值的60%时,k

可以等于1.2倍k等。
90.b11:将所述k

个第二预测数据输入至所述调整knn模型,得到个关联数据获取所述缺失数据的第二预测值。
91.b12:基于所述数据分布形态获取所述第二预测值的评价值。
92.b13:若所述第二预测值的评价值大于所述预设阈值,则确定所述第二预测值为所述缺失数据的目标预测值。
93.在本技术实施例中,第二预测数据的选取方法可参照第一预测数据的选取方法,在此不再赘述。第二预测值是将k

个第二预测数据输入至调整knn模型得到的缺失数据的预测值,可以理解为基于调整knn模型和k

个关联数据进行预测得到的数值。个关联数据第二预测值的评价值可参照第一预测值的评价值的描述,在此不再赘述。需要说明的是,若第二预测值的评价值小于或等于预设阈值,则基于第二预测值的评价值重新确定调整knn模型以及k

。在新的调整knn模型预测对k

个第二预测数据进行预测得到的缺失数据的预测值的评价值大于预设阈值的情况下,确定该预测值为目标预测值。
94.可以理解,在步骤b9~b13中,若第一预测值的评价值小于或等于预设阈值,则确定第一预测值不符合缺失数据的数据分布形态,可以基于第一预测值的评价值对初始knn模型的网络参数进行调整得到调整knn模型,并选取k

个第二预测数据。再将k

个第二预测数据输入至调整knn模型,得到缺失数据的第二预测值。然后基于第二预测值的评价值和预设阈值的大小关系,确定第二预测值是否为目标预测值。如此,可进一步提高获取目标预测值的准确率。
95.s104:基于所述目标预测值和所述数据集进行数据分析。
96.本技术对于数据分析的方法不做限定,可以基于数据分析指令中指示的数据分析方法进行数据分析,或者基于数据集中各项数据和数据分析的意图确定数据分析方法,再基于该数据分析方法进行分析等。
97.在图1所示的方法中,若接收到数据分析指令,则确定数据分析指令对应的数据集
中是否存在缺失数据。若是,则基于缺失数据的属性获取缺失数据的关联数据。再基于knn算法对缺失数据的属性和数据集,以及关联数据和关联数据的属性进行处理,得到缺失数据的目标预测值。如此,能够预测缺失的数据,且基于knn算法对缺失数据进行预测,可使预测得到的目标预测值保持或接近原有的数据分布形态,提高了预测缺失数据的准确率。然后,基于目标预测值和数据集进行数据分析。如此,提高了数据分析的成功率和准确率,有利于提高模型训练的精确度和模型识别的准确率。
98.上述详细阐述了本技术实施例的方法,下面提供了本技术实施例的装置。
99.与图1所示的实施例一致,请参照图2,图2是本技术提出的一种基于knn算法的数据分析装置的结构示意图,如图2所示,上述基于knn算法的数据分析装置200包括:
100.通信单元201,用于接收数据分析指令;
101.获取单元202,用于若所述数据分析指令对应的数据集中存在缺失数据,则基于所述缺失数据的属性获取所述缺失数据的关联数据;
102.处理单元203,用于基于knn算法对所述缺失数据的属性和所述数据集,以及所述关联数据和所述关联数据的属性进行处理,得到所述缺失数据的目标预测值;基于所述目标预测值和所述数据集进行数据分析。
103.在一个可能的示例中,所述处理单元203具体用于基于所述缺失数据的属性和所述关联数据的属性构建初始模型;将所述关联数据和所述数据集中除所述缺失数据之外的第一数据进行划分,得到至少两组训练数据集;基于所述训练数据集对所述初始模型进行训练,得到初始knn模型;从所述关联数据中选取k个第一预测数据,所述k为大于2的整数;将所述k个第一预测数据输入至所述初始knn模型,得到所述缺失数据的第一预测值;基于所述关联数据确定所述缺失数据的数据分布形态;基于所述数据分布形态获取所述第一预测值的评价值;若所述评价值大于预设阈值,则确定所述第一预测值为所述缺失数据的目标预测值。
104.在一个可能的示例中,所述处理单元203具体用于基于所述缺失数据的属性和所述关联数据的属性确定初始模型中每一层网络的层类型以及层数;获取所述关联数据和所述缺失数据之间的关联值;基于所述关联值确定所述初始模型中每一层网络的权重的初始值;基于所述初始值、所述层类型和所述层数构建所述初始模型。
105.在一个可能的示例中,所述处理单元203还用于若所述第一预测值的评价值小于或等于所述预设阈值,则基于所述评价值对所述初始knn模型的网络参数进行调整,得到调整knn模型;基于所述评价值从所述关联数据中选取k

个第二预测数据,所述k

为不等于所述k,且大于或等于2的整数;将所述k

个第二预测数据输入至所述调整knn模型,得到所述缺失数据的第二预测值;基于所述数据分布形态获取所述第二预测值的评价值;若所述第二预测值的评价值大于所述预设阈值,则确定所述第二预测值为所述缺失数据的目标预测值。
106.在一个可能的示例中,所述获取单元202具体用于获取所述缺失数据的属性对应的关联词;若所述关联词的属性与所述数据集中除所述缺失数据之外的第一数据的属性相同,则将所述第一数据作为所述缺失数据的关联数据;或者若所述关联词的属性与所述第一数据的属性不同,则基于所述关联词的属性和所述数据集的属性查找所述缺失数据的关联数据。
107.在一个可能的示例中,所述获取单元202具体用于基于所述缺失数据的属性查找所述缺失数据的名称对应的知识图谱;从所述知识图谱中查找与所述缺失数据的名称具有连接关系的词汇,得到所述缺失数据的属性对应的关联词。
108.在一个可能的示例中,所述处理单元203还用于若确定所述缺失数据满足预设条件,则调用所述获取单元202执行所述基于所述缺失数据的属性获取所述缺失数据的关联数据的步骤。
109.该数据分析装置200中各个单元执行详细过程可以参见前述方法实施例中的执行步骤,此处不在赘述。
110.与图1的实施例一致,请参照图3,图3是本技术实施例提供的一种计算机设备的结构示意图。如图3所示,该计算机设备300包括处理器310、存储器320、通信接口330以及一个或多个程序340。处理器310、存储器320和通信接口330之间通过总线350互相连接。图2所示的通信单元201所实现的相关功能可通过通信接口330来实现,图2所示的获取单元202和处理单元203所实现的相关功能可通过处理器310来实现。
111.上述一个或多个程序340被存储在上述存储器320中,并且被配置由上述处理器310执行,上述程序340包括用于执行以下步骤的指令:
112.接收数据分析指令;
113.若所述数据分析指令对应的数据集中存在缺失数据,则基于所述缺失数据的属性获取所述缺失数据的关联数据;
114.基于knn算法对所述缺失数据的属性和所述数据集,以及所述关联数据和所述关联数据的属性进行处理,得到所述缺失数据的目标预测值;
115.基于所述目标预测值和所述数据集进行数据分析。
116.在一个可能的示例中,在所述基于knn算法对所述缺失数据的属性和所述数据集,以及所述关联数据和所述关联数据的属性进行处理,得到所述缺失数据的目标预测值方面,所述程序340具体用于执行以下步骤的指令:
117.基于所述缺失数据的属性和所述关联数据的属性构建初始模型;
118.将所述关联数据和所述数据集中除所述缺失数据之外的第一数据进行划分,得到至少两组训练数据集;
119.基于所述训练数据集对所述初始模型进行训练,得到初始knn模型;
120.从所述关联数据中选取k个第一预测数据,所述k为大于或等于2的整数;
121.将所述k个第一预测数据输入至所述初始knn模型,得到所述缺失数据的第一预测值;
122.基于所述关联数据确定所述缺失数据的数据分布形态;
123.基于所述数据分布形态获取所述第一预测值的评价值;
124.若所述评价值大于预设阈值,则确定所述第一预测值为所述缺失数据的目标预测值。
125.在一个可能的示例中,在所述基于所述缺失数据的属性和所述关联数据的属性构建初始模型方面,所述程序340具体用于执行以下步骤的指令:
126.基于所述缺失数据的属性和所述关联数据的属性确定初始模型中每一层网络的层类型以及层数;
127.获取所述关联数据和所述缺失数据之间的关联值;
128.基于所述关联值确定所述初始模型中每一层网络的权重的初始值;
129.基于所述初始值、所述层类型和所述层数构建所述初始模型。
130.在一个可能的示例中,在所述基于所述数据分布形态获取所述第一预测值的评价值之后,所述程序340还用于执行以下步骤的指令:
131.若所述第一预测值的评价值小于或等于所述预设阈值,则基于所述评价值对所述初始knn模型的网络参数进行调整,得到调整knn模型;
132.基于所述评价值从所述关联数据中选取k

个第二预测数据,所述k

为不等于所述k,且大于或等于2的整数;
133.将所述k

个第二预测数据输入至所述调整knn模型,得到所述缺失数据的第二预测值;基于所述数据分布形态获取所述第二预测值的评价值;
134.若所述第二预测值的评价值大于所述预设阈值,则确定所述第二预测值为所述缺失数据的目标预测值。
135.在一个可能的示例中,在所述基于所述缺失数据的属性获取所述缺失数据的关联数据方面,所述程序340具体用于执行以下步骤的指令:
136.获取所述缺失数据的属性对应的关联词;
137.若所述关联词的属性与所述数据集中除所述缺失数据之外的第一数据的属性相同,则将所述第一数据作为所述缺失数据的关联数据;或者
138.若所述关联词的属性与所述第一数据的属性不同,则基于所述关联词的属性和所述数据集的属性查找所述缺失数据的关联数据。
139.在一个可能的示例中,在所述获取所述缺失数据的属性对应的关联词方面,所述程序340具体用于执行以下步骤的指令:
140.基于所述缺失数据的属性查找所述缺失数据的名称对应的知识图谱;
141.从所述知识图谱中查找与所述缺失数据的名称具有连接关系的词汇,得到所述缺失数据的属性对应的关联词。
142.在一个可能的示例中,在所述基于所述缺失数据的属性获取所述缺失数据的关联数据之前,所述程序340还用于执行以下步骤的指令:
143.若确定所述缺失数据满足预设条件,则执行所述基于所述缺失数据的属性获取所述缺失数据的关联数据的步骤。
144.本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于存储计算机程序,该计算机程序使得计算机执行以实现方法实施例中记载的任一方法的部分或全部步骤,计算机包括电子设备和服务器。
145.本技术实施例还提供一种计算机程序产品,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机程序可操作来使计算机执行以实现方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,计算机包括电子设备和服务器。
146.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知
悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模式并不一定是本技术所必须的。
147.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
148.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如至少一个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
149.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少一个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
150.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模式的形式实现。
151.集成的单元如果以软件程序模式的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。根据这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
152.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献