CN114298125A - 聚类处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
聚类处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114298125A CN114298125A CN202111235985.2A CN202111235985A CN114298125A CN 114298125 A CN114298125 A CN 114298125A CN 202111235985 A CN202111235985 A CN 202111235985A CN 114298125 A CN114298125 A CN 114298125A
- Authority
- CN
- China
- Prior art keywords
- clusters
- object data
- cluster
- clustering
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本申请公开了一种聚类处理方法、装置、电子设备及计算机可读存储介质,属于数据处理技术领域。方法包括:获取多个第一簇和多个第二簇,多个第一簇是基于第一聚类算法对多个对象数据进行聚类处理得到的,一个第一簇中包括至少一个对象数据,多个第二簇是基于第二聚类算法对多个对象数据进行聚类处理得到的,一个第二簇中包括至少一个对象数据;对多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果;基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定多个第三簇,一个第三簇中包括至少一个对象数据,本申请能够提高聚类结果的准确性。
Description
技术领域
本申请实施例涉及数据处理技术领域,特别涉及一种聚类处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着大数据的兴起,数据处理技术变得越来越重要,其中,聚类处理技术是数据处理技术中的一个重要技术。聚类处理技术能够将数据集中的各个对象数据聚类成多个簇,每个簇中包括至少一个对象数据。
相关技术中,通常采用一种聚类算法对数据集中的各个对象数据进行聚类处理。由于聚类算法的种类繁多,例如,聚类算法包括但不限于莱顿(Leiden) 算法、鲁汶(Louvain)算法、基于深度学习特征表达的目前技术水平(State Of The Art,SOTA)算法等,仅采用一种聚类算法对多个对象数据进行聚类处理,导致聚类结果的准确性不高。
发明内容
本申请实施例提供了一种聚类处理方法、装置、电子设备及计算机可读存储介质,可用于解决相关技术中聚类结果准确性较低的问题,所述技术方案包括如下内容。
一方面,本申请实施例提供了一种聚类处理方法,所述方法包括:
获取多个第一簇和多个第二簇,所述多个第一簇是基于第一聚类算法对多个对象数据进行聚类处理得到的,一个第一簇中包括至少一个对象数据,所述多个第二簇是基于第二聚类算法对所述多个对象数据进行聚类处理得到的,一个第二簇中包括至少一个对象数据;
对所述多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果;
基于所述多个第一簇、所述多个第二簇和所述各个对象数据的离群点检测结果,确定多个第三簇,一个第三簇中包括至少一个对象数据。
另一方面,本申请实施例提供了一种聚类处理装置,所述装置包括:
获取模块,用于获取多个第一簇和多个第二簇,所述多个第一簇是基于第一聚类算法对多个对象数据进行聚类处理得到的,一个第一簇中包括至少一个对象数据,所述多个第二簇是基于第二聚类算法对所述多个对象数据进行聚类处理得到的,一个第二簇中包括至少一个对象数据;
检测模块,用于对所述多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果;
确定模块,用于基于所述多个第一簇、所述多个第二簇和所述各个对象数据的离群点检测结果,确定多个第三簇,一个第三簇中包括至少一个对象数据。
在一种可能的实现方式中,所述检测模块,用于对于所述多个第二簇中的任一个第二簇,对所述任一个第二簇中的各个对象数据进行离群点检测处理,得到所述任一个第二簇中各个对象数据的离群点检测结果;
所述确定模块,用于基于所述多个第一簇和各个第二簇中各个对象数据的离群点检测结果,确定多个第三簇。
在一种可能的实现方式中,所述确定模块,用于对于所述多个第二簇中的任一个第二簇,响应于所述任一个第二簇中的各个对象数据中存在第一对象数据,从所述多个第一簇中确定所述任一个第二簇所对应的第一簇,所述第一对象数据的离群点检测结果为非离群点对象数据;确定所述任一个第二簇所对应的第一簇为一个第三簇;响应于所述第一对象数据不属于所述一个第三簇,将所述第一对象数据添加至所述一个第三簇中。
在一种可能的实现方式中,所述确定模块,用于基于所述多个第一簇和所述多个第二簇确定交叉表,所述交叉表的一行数据表征一个第一簇中的各个对象数据,所述交叉表的一列数据表征一个第二簇中的各个对象数据;基于所述交叉表从所述多个第一簇中确定所述任一个第二簇所对应的第一簇。
在一种可能的实现方式中,所述一个第一簇对应一个第一簇标识,一个第二簇对应一个第二簇标识,一个对象数据包括一个对象标识;
所述确定模块,用于基于各个第一簇的第一簇标识、所述各个第一簇中包含的各个对象数据的对象标识、各个第二簇的第二簇标识和所述各个第二簇中包含的各个对象数据的对象标识,确定各个簇标识集合对应的对象标识,一个簇标识集合包括一个第一簇标识和一个第二簇标识;基于所述各个簇标识集合对应的对象标识的数量确定交叉表。
在一种可能的实现方式中,所述交叉表中包括多个非零数据,所述非零数据表征所述非零数据所在行对应的第一簇和所述非零数据所在列对应的第二簇包含相同对象数据的数量;
所述确定模块,用于从所述交叉表中所述任一个第二簇对应的列所包含的各个非零数据中,确定最大非零数据;将所述最大非零数据所在行对应的第一簇,确定为所述任一个第二簇所对应的第一簇。
在一种可能的实现方式中,所述确定模块,用于对于所述多个第二簇中的任一个第二簇,响应于所述任一个第二簇中的各个对象数据中存在第二对象数据,确定一个第二对象数据所属的第一簇为一个第三簇,所述第二对象数据的离群点检测结果为离群点对象数据。
在一种可能的实现方式中,所述检测模块,用于对所述各个对象数据进行降维处理,得到各个降维对象数据;对所述各个降维对象数据进行离群点检测处理,得到所述各个对象数据的离群点检测结果。
在一种可能的实现方式中,一个降维对象数据对应至少两种降维数据;
所述检测模块,用于对于任一个降维对象数据,将所述任一个降维对象数据对应的至少两种降维数据进行合并,得到所述任一个降维对象数据对应的合并数据;对所述各个降维对象数据对应的合并数据进行离群点检测处理,得到所述各个对象数据的离群点检测结果。
在一种可能的实现方式中,所述检测模块,用于对于所述多个第一簇中的任一个第一簇,对所述任一个第一簇中的各个对象数据进行离群点检测处理,得到所述任一个第一簇中各个对象数据的离群点检测结果;
所述确定模块,用于基于所述多个第二簇和各个第一簇中各个对象数据的离群点检测结果,确定多个第三簇。
在一种可能的实现方式中,所述确定模块,用于基于所述多个第一簇、所述多个第二簇和所述各个对象数据的离群点检测结果,确定至少两个聚类处理结果,一个聚类处理结果包括多个第四簇,一个第四簇中包括至少一个对象数据;确定各个聚类处理结果的评价指标,所述评价指标用于表征所述聚类处理结果的准确性;基于所述各个聚类处理结果的评价指标中最大评价指标对应的聚类处理结果,确定所述多个第三簇。
在一种可能的实现方式中,所述对象数据为细胞的基因表达矩阵;
所述获取模块,用于使用莱顿算法对多个细胞的基因表达矩阵进行聚类处理,得到多个第一簇;使用基于深度学习特征表达的目前技术水平算法对所述多个细胞的基因表达矩阵进行聚类处理,得到多个第二簇。
在一种可能的实现方式中,所述获取模块,还用于获取基于第三聚类算法对所述多个对象数据进行聚类处理得到的多个第五簇,一个第五簇中包括至少一个对象数据;
所述确定模块,还用于基于所述多个第三簇、所述多个第五簇和所述各个对象数据的离群点检测结果,确定多个第六簇,一个第六簇中包括至少一个对象数据。
另一方面,本申请实施例提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使所述电子设备实现上述任一所述的聚类处理方法。
另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现上述任一所述的聚类处理方法。
另一方面,还提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种聚类处理方法。
本申请实施例提供的技术方案至少带来如下有益效果:
本申请实施例提供的技术方案是基于多个第一簇和多个第二簇和各个对象数据的离群点检测结果确定多个第三簇,第一簇和第二簇是基于不同的聚类算法对多个对象数据进行聚类处理得到的,实现了使用两个聚类算法对多个对象数据进行聚类处理,能够提高聚类结果的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种聚类处理方法的实施环境示意图;
图2是本申请实施例提供的一种聚类处理方法的流程图;
图3是本申请实施例提供的一种莱顿算法的聚类示意图;
图4是本申请实施例提供的一种深度嵌入单细胞聚类(Deep Embedding ForSingle-cell Clustering,DESC)算法的聚类示意图;
图5是本申请实施例提供的一种细胞数据的聚类处理方法的流程图;
图6是本申请实施例提供的一种莱顿算法对应的单细胞数据的聚类结果示意图;
图7是本申请实施例提供的一种DESC算法对应的单细胞数据的聚类结果示意图;
图8是本申请实施例提供的一种聚类处理后的单细胞数据的聚类结果示意图;
图9是本申请实施例提供的一种单细胞数据的实际聚类结果示意图;
图10是本申请实施例提供的一种聚类处理装置的结构示意图;
图11是本申请实施例提供的一种终端设备的结构示意图;
图12是本申请实施例提供的一种服务器的结构示意图;
图13是本申请实施例提供的一种莱顿算法对应的单细胞数据的聚类结果效果图;
图14是本申请实施例提供的一种DESC算法对应的单细胞数据的聚类结果效果图;
图15是本申请实施例提供的一种聚类处理后的单细胞数据的聚类结果效果图;
图16是本申请实施例提供的一种单细胞数据的实际聚类结果效果图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种聚类处理方法的实施环境示意图,如图1 所示该实施环境包括电子设备11,本申请实施例中的聚类处理方法可以由电子设备11执行。示例性地,电子设备11可以包括终端设备或者服务器中的至少一项。
终端设备可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器和膝上型便携计算机中的至少一种。
服务器可以为一台服务器,或者为多台服务器组成的服务器集群,或者为云计算平台和虚拟化中心中的任意一种,本申请实施例对此不加以限定。服务器可以与终端设备通过有线网络或无线网络进行通信连接。服务器可以具有数据处理、数据存储以及数据收发等功能,在本申请实施例中不加以限定。
本申请实施例提供的聚类处理方法是基于人工智能技术实现的,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
基于上述实施环境,本申请实施例提供了一种聚类处理方法,以图2所示的本申请实施例提供的一种聚类处理方法的流程图为例,该方法可由图1中的电子设备11执行。如图2所示,该方法包括步骤201-步骤203。
步骤201,获取多个第一簇和多个第二簇,多个第一簇是基于第一聚类算法对多个对象数据进行聚类处理得到的,一个第一簇中包括至少一个对象数据,多个第二簇是基于第二聚类算法对多个对象数据进行聚类处理得到的,一个第二簇中包括至少一个对象数据。
本申请实施例中,第一聚类算法和第二聚类算法是不同的聚类算法,示例性的,第一聚类算法和第二聚类算法是Leiden算法、Louvain算法、基于深度学习特征表达的SOTA算法、K均值聚类算法(K-means Clustering Algorithm)、 DESC算法等中的任意两个算法。对象数据包括但不限于细胞数据、点云数据、视频数据等。
其中,本申请实施例不对基于第一聚类算法对多个对象数据进行聚类处理得到的第一簇的数量做限定,且本申请实施例也不对基于第二聚类算法对多个对象数据进行聚类处理得到的第二簇的数量做限定,第二簇的数量和第一簇的数量相同或者不同。示例性的,第一簇的数量为51个,第二簇的数量为51个或者33个。
在一种可能的实现方式中,对象数据为细胞的基因表达矩阵;获取多个第一簇和多个第二簇,包括:使用莱顿算法对多个细胞的基因表达矩阵进行聚类处理,得到多个第一簇;使用基于深度学习特征表达的目前技术水平算法对多个细胞的基因表达矩阵进行聚类处理,得到多个第二簇。
本申请实施例中,对象为细胞,细胞数据为细胞的基因表达矩阵。基因表达矩阵的行代表一个基因在不同环境条件下或不同时间点的表达,基因表达矩阵的列代表不同条件或样本下(如细胞、组织、实验条件、处理因素等)所有基因的表达情况,每个格子的数据表示特定的基因在特定的细胞中的表达水平。
在对多个细胞的基因表达矩阵进行聚类处理时,使用莱顿算法对多个细胞数据进行聚类处理。莱顿算法是通过多个阶段的聚类处理,得到最终的聚类结果(即得到多个第一簇)。一个阶段的聚类处理包括移动细胞处理和提炼处理,移动细胞处理是对多个细胞数据进行初步聚类的过程,得到该阶段对应的多个原始簇,每一个原始簇中包括至少一个细胞数据,提炼处理是对该阶段对应的多个原始簇进行再次聚类的过程,得到该阶段对应的多个更新后的簇,更新后的簇中包括至少一个细胞数据。
请参见图3,图3是本申请实施例提供的一种莱顿算法的聚类示意图,其中,图3仅示出了两个阶段的聚类处理,这两个阶段分别为第一阶段和第二阶段。首先,使用基因表达矩阵来表达待聚类的每一个细胞,再根据每两个细胞各自的基因表达矩阵,确定每两个细胞数据之间的权重,得到图3所示的a,a包括多个细胞数据和每两个细胞数据之间的权重。
针对第一阶段,对a进行移动细胞处理,以对多个细胞数据进行初步聚类,得到第一阶段对应的多个原始簇,如图3所示的b。b中相同颜色的细胞数据表示同一个原始簇中的细胞数据,不同颜色的细胞数据表示不同原始簇中的细胞数据。之后,对第一阶段对应的多个原始簇(即b)进行提炼处理,以对同一个原始簇中的细胞数据进行再次聚类,得到多个更新后的簇,如图3所示的c。c 中的一个原始簇中包括不同颜色的细胞数据,表示在提炼处理时,该原始簇中的细胞数据被聚类到至少两个簇中。之后,基于c所示的聚类结果进行第二阶段的聚类处理。
针对第二阶段,如图3所示的d,d中包括五个簇,这五个簇是第一阶段对应的更新后的簇,即c所示的聚类结果,簇与簇之间的连线表示簇与簇之间的权重。对d进行移动细胞处理,以对多个细胞数据进行初步聚类,得到第二阶段对应的多个原始簇,如图3所示的e。e中相同颜色的簇表示同一个原始簇,不同颜色的簇表示不同的原始簇。之后,对第二阶段对应的多个原始簇(即e) 进行提炼处理,以对同一个原始簇中的细胞数据进行再次聚类,得到多个更新后的簇,如图3所示的f。f中的一个原始簇中包括相同颜色的至少两个簇,表示在提炼处理时,该原始簇未与其他原始簇聚为一类。之后,基于f所示的聚类结果进行下一阶段(即第三阶段)的聚类处理,或者将f所示的聚类结果作为最终的聚类结果,即得到多个第一簇。
由上述关于莱顿算法的描述能够看出,莱顿算法在每一个阶段的聚类处理中,先进行移动细胞处理以对所有的细胞数据进行初步聚类,再进行提炼处理以对所有的细胞数据进行再次聚类。因此,莱顿算法能够实现对细胞数据进行全局聚类,是一种全局聚类处理算法。
在对多个细胞数据进行聚类处理时,使用DESC算法对多个细胞数据进行聚类处理,其中,DESC算法是一种基于深度学习特征表达的SOTA算法。DESC 算法是通过将各个细胞的基因表达矩阵输入至自动编码器,由自动编码器对各个细胞的基因表达矩阵进行编码,得到各个细胞的基因表达特征。基于各个细胞的基因表达特征确定各个细胞数据的聚类结果,一个细胞数据的聚类结果即为该细胞数据所属的簇,基于各个细胞的基因表达特征还能够确定各个细胞数据属于其所属簇的概率和各个细胞数据的批次号。其中,DESC算法是通过确定一个细胞数据属于各个簇的概率,从而确定该细胞数据所属的簇为最大概率所对应的簇,该细胞数据属于其所属簇的概率记为这个最大概率,细胞数据的批次号是该细胞数据的采样批次。
如图4所示,图4是本申请实施例提供的一种DESC算法的聚类示意图。首先,将各个细胞的基因表达矩阵作为输入信息输入至自动编码器,由自动编码器对各个细胞的基因表达矩阵进行编码,得到各个细胞的基因表达特征。之后,基于各个细胞的基因表达特征进行聚类处理,得到聚类结果。当基于模型实现DESC算法时,基于聚类结果和损失函数优化模型参数,以更新模型,利用更新后的模型和各个细胞的基因表达特征,对各个细胞数据进行聚类处理,得到聚类结果。其中,损失函数不作限定。
可选的,损失函数为图4所示的Loss=KL(P||Q),Loss为损失函数,KL 表示KL散度(Kullback-Leibler Divergence),也叫相对熵(Relative Entropy), P为真实的概率分布(即细胞数据属于各个簇的概率),Q为P的拟态分布。
需要说明的是,输出信息包括但不限于聚类结果。如图4所示,输出信息包括三个部分。其中,第一个部分为簇(即聚类结果),簇中标号0-5表示6 个簇(即第二簇),每个簇中包括至少一个细胞数据,也就是说,簇为各个细胞数据的聚类结果。第二个部分为细胞数据的概率,通过确定一个细胞数据属于各个簇的概率,确定这个细胞数据的最大概率,从而确定簇中细胞数据的概率为这个最大概率。第三部分为细胞数据的批次,同一个簇中包括至少一个批次的细胞数据。
由上述关于DESC算法的描述可以看出,DESC算法是基于一个细胞的基因表达矩阵确定该细胞的基因表达矩阵(即细胞数据)的聚类结果,通过此方式,确定各个细胞数据的聚类结果,具有针对个体样本的强聚类能力,是一种局部聚类处理算法。
步骤202,对多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果。
本申请实施例中,基于离群点检测(OutlierDetection,OD)算法,对多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果,任一个对象数据的离群点检测结果为离群点对象数据或者非离群点对象数据。其中,本申请实施例不对离群点检测算法做限定。
示例性的,离群点检测算法是基于Copula的异常值检测(Copula-Based OutlierDetection,COPOD)算法。Copula是一种统计概率函数,用于对多维累计分布建模,还用于对多个随机变量(Random Variables,RV)间的依赖关系 (Dependency)进行建模。
本申请实施例中,Python(一种计算机编程语言的软件)的PyOD(一个用于检测数据中异常值的库)提供包括COPOD算法在内的多种离群点检测算法。 COPOD算法具有三个优点。第一个优点是不需要进行样本之间的距离计算,运行速度快。第二个优点是不需要调参,可以直接调用。第三个优点是离群点检测效果明显优于其他离群点检测算法。
由于COPOD算法具有上述三个优点,因此,本申请实施例采用COPOD算法,能够方便快速的对多个对象数据进行离群点检测处理,且得到的各个对象数据的离群点检测结果的准确性较高。
本申请实施例中,对多个对象数据进行离群点检测处理时,可以对多个原始的对象数据进行离群点检测处理,例如,原始的对象数据为细胞的基因表达矩阵,则对多个细胞的基因表达矩阵进行离群点检测处理。
由于原始的对象数据的维度较大,离群点检测的速度较慢,因此,可以对原始的对象数据进行处理,以提高离群点检测的速度。可选的,对多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果,包括:对各个对象数据进行降维处理,得到各个降维对象数据;对各个降维对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果。
对于任一个对象数据,对该对象数据进行降维处理,以降低该对象数据的维度、减小对象数据的数据量,得到降维处理后的对象数据,即得到降维对象数据。通过这种方式,得到各个降维对象数据,之后,基于离群点检测算法,对各个降维对象数据进行离群点检测处理,得到各个降维对象数据的离群点检测结果。任一个降维对象数据的离群点检测结果即为该降维对象数据对应的对象数据的离群点检测结果。
可以理解的是,对任一个对象数据进行降维处理的方式有多种,本申请实施例不限定对象数据的降维处理方式。
可选的,通过主成分分析(Principal Component Analysis,PCA)技术,对任一个对象数据进行降维处理,得到降维对象数据,例如,通过PCA技术对细胞的基因表达矩阵(通常包括2至3万个数据)进行降维处理,使得数据量由原来的2至3万个数据减少为50个数据。
可选的,通过神经网络技术,对任一个对象数据进行降维处理,得到降维对象数据,例如,通过特征提取网络对细胞的基因表达矩阵进行降维处理,使得数据量由原来的2至3万个数据减少为32个数据。
由于对任一个对象数据进行降维处理的方式有多种,因此,可以采用至少两种降维处理方式,对任一个对象数据进行降维处理,得到降维对象数据。在这种情况下,一个降维对象数据对应至少两种降维数据;对各个降维对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果,包括:对于任一个降维对象数据,将任一个降维对象数据对应的至少两种降维数据进行合并,得到任一个降维对象数据对应的合并数据;对各个降维对象数据对应的合并数据进行离群点检测处理,得到各个对象数据的离群点检测结果。
由于采用至少两种降维处理方式,对任一个对象数据进行降维处理,因此,该对象数据对应的降维对象数据包括各种降维处理方式对应的降维对象数据,任一种降维处理方式对应的降维对象数据即为一种降维数据。
对于任一个降维对象数据,将该降维对象数据对应的至少两种降维数据依次拼接,或者对该降维对象数据对应的至少两种降维数据进行加减乘除等运算处理,以实现对该降维对象数据对应的至少两种降维数据进行合并,得到该降维对象数据对应的合并数据。通过这种方式,得到各个降维对象数据对应的合并数据,之后,基于离群点检测算法,对各个降维对象数据对应的合并数据进行离群点检测处理,得到各个对象数据的离群点检测结果。
先将各个降维对象数据对应的至少两种降维数据进行合并,再对各个降维对象数据对应的合并数据进行离群点检测处理,在减少计算量、提高离群点检测速度的同时,提高离群点检测的准确性。
需要说明的是,在基于离群点检测算法,对多个对象数据进行离群点检测处理时,除上述提及的基于离群点检测算法,对多个原始的对象数据或者多个降维对象数据或者多个降维对象数据对应的合并数据进行离群点检测处理之外,还可以结合各个对象数据的其他信息进行离群点检测处理。例如,基于离群点检测算法、各个对象数据属于第一簇的概率以及各个对象数据属于第二簇的概率,对多个原始的对象数据进行离群点检测处理,以提高离群点检测的准确性。应用时,可以根据应用场景和人工经验灵活设定,在本申请实施例中不做限定。
步骤203,基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定多个第三簇,一个第三簇中包括至少一个对象数据。
本申请实施例中,基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定多个第三簇,由于第一簇是基于第一聚类算法得到的,第二簇是基于第二聚类算法得到的,因此,本申请实施例能够实现基于第一聚类算法和第二聚类算法确定多个第三簇,提高聚类结果的准确性。
以第一聚类算法为莱顿算法,第二聚类算法为DESC算法为例进行说明。莱顿算法是一种全局聚类处理算法,能够对细胞数据进行全局聚类,但会使局部细胞数据的聚类结果不准确,而DESC算法是一种局部聚类处理算法,具有较强的针对个体样本的聚类能力,但未考虑到细胞数据之间的关联关系,导致聚类结果的准确性较差。通过本申请实施例的聚类处理方法,能够基于莱顿算法和DESC算法确定多个第三簇,融合莱顿算法对细胞数据进行全局聚类的优点和DESC算法对个体样本的强聚类能力,实现莱顿算法和DESC算法之间的互补,提高聚类结果的准确性。
本申请实施例中,可以从第二簇的角度,实现基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定多个第三簇,记为实现方式A1。也可也从第一簇的角度,实现基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定多个第三簇,记为实现方式A2。下面将分别详细阐述实现方式A1和实现方式A2。
实现方式A1,对多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果,包括:对于多个第二簇中的任一个第二簇,对任一个第二簇中的各个对象数据进行离群点检测处理,得到任一个第二簇中各个对象数据的离群点检测结果;基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定多个第三簇,包括:基于多个第一簇和各个第二簇中各个对象数据的离群点检测结果,确定多个第三簇。
本申请实施例中,对于任一个第二簇,基于离群点检测算法,对该第二簇中的各个对象数据进行离群点检测处理,得到该第二簇中的各个对象数据的离群点检测结果。通过这种方式,确定各个第二簇中各个对象数据的离群点检测结果。之后,基于多个第一簇和各个第二簇中各个对象数据的离群点检测结果,确定多个第三簇。
可选的,基于多个第一簇和各个第二簇中各个对象数据的离群点检测结果,确定多个第三簇,包括:对于多个第二簇中的任一个第二簇,响应于任一个第二簇中的各个对象数据中存在第一对象数据,从多个第一簇中确定任一个第二簇所对应的第一簇,第一对象数据的离群点检测结果为非离群点对象数据;确定任一个第二簇所对应的第一簇为一个第三簇;响应于第一对象数据不属于一个第三簇,将第一对象数据添加至一个第三簇中。
本申请实施例中,对于任一个第二簇中的任一个对象数据,当该对象数据的离群点检测结果为非离群点对象数据时,该对象数据为第一对象数据。此时,从多个第一簇中确定该第二簇所对应的第一簇,作为该第二簇所对应的主要聚类簇,并确定该第二簇所对应的主要聚类簇为一个第三簇。
需要说明的是,对于任一个第二簇,该第二簇中的任一个第一对象数据所属的第一簇和该第二簇所对应的主要聚类簇可能相同,也可能不同。当该第二簇中的任一个第一对象数据所属的第一簇和该第二簇所对应的主要聚类簇相同时,表明该第一对象数据属于该第二簇所对应的主要聚类簇,即第一对象数据属于一个第三簇中。当该第二簇中的任一个第一对象数据所属的第一簇和该第二簇所对应的主要聚类簇不同时,将该第一对象数据添加至该第二簇所对应的主要聚类簇中,相当于将该第一对象数据添加至一个第三簇中。
例如,多个第一簇分别为第一簇0至11,多个第二簇分别为第二簇0至9,对象数据S15和S20均对应第二簇2,且对象数据S15对应第一簇7,对象数据 S20对应第一簇5。其中,对象数据S15和对象数据S20的离群点检测结果均为非离群点对象数据。此时,对象数据S15和对象数据S20均为第一对象数据,从第一簇0至11中确定第二簇2所对应的主要聚类簇(即第一簇)为第一簇5,则第一簇5作为一个第三簇(记为第三簇5)。对于对象数据S15,由于对象数据S15对应第一簇7,相当于对象数据S15所属的第一簇7与第三簇5(即第一簇5)不同,因此,将对象数据S15添加至第三簇5中。对于对象数据S20,由于对象数据S20对应第一簇5,相当于对象数据S20所属的第一簇5与第三簇5 相同,因此,对象数据S20已属于第三簇5。
由上可知,对于任一个第二簇,通过本申请实施例的方法,能够使该第二簇中的各个第一对象数据均属于该第二簇所对应的主要聚类簇,从而得到一个第三簇,也就是说,一个第二簇中的各个第一对象数据均属于同一个第三簇。
可选的,从多个第一簇中确定任一个第二簇所对应的第一簇,包括:基于多个第一簇和多个第二簇确定交叉表,交叉表的一行数据表征一个第一簇中的各个对象数据,交叉表的一列数据表征一个第二簇中的各个对象数据;基于交叉表从多个第一簇中确定任一个第二簇所对应的第一簇。
交叉表是一种分类汇总表格,交叉表包括若干行和若干列。本申请实施例中,基于多个第一簇和多个第二簇确定一个交叉表,该交叉表的各行分别对应各个第一簇,该交叉表的各列分别对应各个第二簇。
可选的,一个第一簇对应一个第一簇标识,一个第二簇对应一个第二簇标识,一个对象数据包括一个对象标识;基于多个第一簇和多个第二簇确定交叉表,包括:基于各个第一簇的第一簇标识、各个第一簇中包含的各个对象数据的对象标识、各个第二簇的第二簇标识和各个第二簇中包含的各个对象数据的对象标识,确定各个簇标识集合对应的对象标识,一个簇标识集合包括一个第一簇标识和一个第二簇标识;基于各个簇标识集合对应的对象标识的数量,确定交叉表。
第一簇标识和第二簇标识均包括但不限于数字、字符、符号等中的至少一项,对象数据的对象标识包括但不限于数字、字符、符号等中的至少一项,其中,第一簇标识、第二簇标识、对象数据的对象标识三者可以相同,也可以不同,也可以三者中的任意两种相同,在此不做限定。
示例性的,第一簇标识包括数字0至11,第二簇标识包括数字0至9,对象数据的对象标识由字符S和数字组成,对象标识包括S1至SN,N为大于1 的正整数。
本申请实施例中,一个对象数据的对象标识具有唯一性,用于标识该对象数据。由步骤201可知,多个对象数据聚类成多个第一簇,且这多个对象数据聚类成多个第二簇,由于每一个第一簇对应一个第一簇标识,且每一个第二簇对应一个第二簇标识,因此,能够确定各个第一簇标识与各个对象数据的对象标识之间的对应关系,以及各个第二簇标识与各个对象数据的对象标识之间的对应关系。
如下表1和表2所示,表1是本申请实施例提供的一种第一簇标识与对象数据的对象标识之间的对应关系表,表2是本申请实施例提供的一种第二簇标识与对象数据的对象标识之间的对应关系表。
表1
对象数据的对象标识 | 第一簇标识 |
S1 | 1 |
S2 | 0 |
S3 | 11 |
S4 | 0 |
…… | …… |
SN | 3 |
表2
对象数据的对象标识 | 第二簇标识 |
S1 | 9 |
S2 | 0 |
S3 | 1 |
S4 | 7 |
…… | …… |
SN | 5 |
由表1和表2可知,N个对象数据的对象标识分别为S1、S2、S3、S4…… SN,N为正整数。在将N个对象数据聚类为多个第一簇时,对象数据的对象标识S1对应第一簇标识1,对象数据的对象标识S2对应第一簇标识0,对象数据的对象标识S3对应第一簇标识11,对象数据的对象标识S4对应第一簇标识0,对象数据的对象标识SN对应第一簇标识3。同样的,在将N个对象数据聚类为多个第二簇时,对象数据的对象标识S1对应第二簇标识9,对象数据的对象标识S2对应第二簇标识0,对象数据的对象标识S3对应第二簇标识1,对象数据的对象标识S4对应第二簇标识7,对象数据的对象标识SN对应第二簇标识5。
本申请实施例中,基于各个第一簇标识与各个对象数据的对象标识之间的对应关系,以及各个第二簇标识与各个对象数据的对象标识之间的对应关系,确定各个簇标识集合对应各个对象数据的对象标识。一个簇标识集合对应的各个对象数据的对象标识,是这个簇标识集合中第一簇标识和第二簇标识对应的相同对象数据的对象标识,即这个簇标识集合中第一簇标识和第二簇标识对应的相同的对象标识。之后,基于各个簇标识集合对应各个对象数据的对象标识的数量,确定交叉表。
示例性的,基于表1和表2,能够确定簇标识集合{1,1}对应的对象标识有 8389个,簇标识集合{1,2}对应的对象标识有4034个,簇标识集合{1,3}对应的对象标识有1个等,其中,簇标识集合{a,b}中的a为第一簇标识,b为第二簇标识。通过各个簇标识集合对应的对象标识的数量,能够确定表3所示的交叉表,表3是本申请实施例提供的一种交叉表的示意。
表3
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
0 | 1798 | 1 | 0 | 0 | 69 | 67 | 0 | 8 | 9 | 0 |
1 | 2 | 8389 | 4034 | 1 | 0 | 0 | 0 | 0 | 6 | 99 |
2 | 0 | 0 | 0 | 0 | 9 | 70899 | 6 | 0 | 0 | 9 |
3 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 2689 | 0 | 0 |
4 | 0 | 6073 | 1346 | 0 | 0 | 0 | 0 | 0 | 7 | 8 |
5 | 0 | 0 | 2 | 1 | 2543 | 3 | 80 | 0 | 0 | 0 |
6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1397 | 0 | 0 |
7 | 7 | 0 | 0 | 3267 | 0 | 0 | 0 | 1 | 0 | 0 |
8 | 9 | 0 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 8 |
9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7012 | 0 |
10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 9 | 7166 |
11 | 0 | 10 | 0 | 0 | 769 | 1 | 4390 | 0 | 0 | 0 |
其中,表3所示的交叉表中,每一行对应一个第一簇,第一簇标识分别为0 至11,共12个第一簇,每一列对应一个第二簇,第二簇标识分别为0至9,共十个第二簇。由表3可知,针对使用第二聚类算法对多个对象数据进行聚类处理后得到的第二簇标识为2中的对象数据,在使用第一聚类算法对多个对象数据进行聚类处理时,第二簇标识2中的对象数据被分散在第一簇标识1、第一簇标识4、第一簇标识5中。
本申请实施例中,基于交叉表,从多个第一簇中确定各个第二簇所对应的第一簇。其中,交叉表中包括多个非零数据,非零数据表征非零数据所在行对应的第一簇和非零数据所在列对应的第二簇包含相同对象数据的数量;基于交叉表从多个第一簇中确定任一个第二簇所对应的第一簇,包括:从交叉表中任一个第二簇对应的列所包含的各个非零数据中,确定最大非零数据;将最大非零数据所在行对应的第一簇,确定为任一个第二簇所对应的第一簇。
交叉表中的任意一个数据为目标字符或者非零数据。其中,本申请实施例以及下述实施例中,目标字符为0或者空字符(即空)或者特殊字符(如符号&、字符串Nnnn等),交叉表中任意一个非零数据表征该数据所在行对应的第一簇和该数据所在列对应的第二簇包含相同对象数据的数量。
对于任一个第二簇,该第二簇对应交叉表中的一列数据,从交叉表中该第二簇对应的列所包含的各个非零数据中,确定最大非零数据,将最大非零数据所在行对应的第一簇,确定为该第二簇所对应的第一簇。
本申请实施例中,第二簇可以作为辅助聚类结果(Assistant Cluster Result,ACR),第一簇可以作为主要聚类结果(Main Cluster Result,MCR),主要聚类结果和辅助聚类结果满足如下所示的公式。
CM(i)=INDEX[ACR(i)==MAX(ACR(i))]
其中,i为列数,即一个第二簇,假设第二簇的第二簇标识分别为0至M(M 为正整数),则第二簇的数量为M+1个,i的取值为0至M中的任意一个数,如表3中i的取值为0至9。CM(i)为第i列的最大非零数据所在行对应的第一簇,即第i列对应的映射簇(ClusterMapping,CM),该映射簇为第一簇。INDEX 是一种返回表中的值的函数,ACR(i)为第i列的各个非零数据,MAX(ACR(i))为第i列的最大非零数据。
示例性的,如下表4所示,表4是表3中的第4列(即第二簇标识为2的列)。
表4
2 | |
0 | 0 |
1 | 4034 |
2 | 0 |
3 | 0 |
4 | 1346 |
5 | 2 |
6 | 0 |
7 | 0 |
8 | 0 |
9 | 0 |
10 | 0 |
11 | 0 |
由于第二簇标识2对应的列的最大非零数据为4034,4034所在行对应第一簇标识1,因此,CM(2)=1,即第2列的最大非零数据所在行对应的第一簇的第一簇标识1,也就是说,第二簇标识2(对应一个第二簇)对应第一簇标识1 (对应一个第一簇)。
基于上述原理,针对表3,能够确定出:CM(0)=0,CM(1)=1,CM(2)=1, CM(3)=7,CM(4)=5,CM(5)=2,CM(6)=11,CM(7)=3,CM(8)=9, CM(9)=10。
在确定出任一个第二簇所对应的第一簇之后,确定任一个第二簇所对应的第一簇为一个第三簇,并使任一个第二簇中各个第一对象数据属于该第三簇。例如,对象数据S15对应第一簇标识7和第二簇标识2,且对象数据S15为第一对象数据。由于第二簇标识2对应第一簇标识1,则确定第一簇标识1对应的第一簇为一个第三簇,将对象数据S15添加在该第三簇中,使对象数据S15属于该第三簇。通过这种方式,将每一个第二簇所对应的第一簇均确定为第三簇,并使每一个第二簇中各个第一对象数据属于每一个第二簇对应的第三簇。
本申请实施例中,基于多个第一簇和各个第二簇中各个对象数据的离群点检测结果,确定多个第三簇,包括:对于多个第二簇中的任一个第二簇,响应于任一个第二簇中的各个对象数据中存在第二对象数据,确定一个第二对象数据所属的第一簇为一个第三簇,第二对象数据的离群点检测结果为离群点对象数据。
本申请实施例中,对于任一个第二簇中的任一个对象数据,当该对象数据的离群点检测结果为离群点对象数据时,该对象数据为第二对象数据。此时,将该第二对象数据所属的第一簇确定为一个第三簇,以实现确定该第二对象数据与第三簇之间的对应关系。通过这种方式,确定该第二簇中各个第二对象数据与第三簇之间的对应关系,从而确定各个第二簇中各个第二对象数据与第三簇之间的对应关系。
例如,多个第一簇分别为第一簇0至11,多个第二簇分别为第二簇0至9,对象数据S19和S200均对应第二簇2,且对象数据S19对应第一簇7,对象数据S200对应第一簇5。其中,对象数据S19和对象数据S200的离群点检测结果均为离群点对象数据。此时,对象数据S19和对象数据S200均为第二对象数据,确定第一簇7为一个第三簇(记为第三簇7),以实现确定对象数据S19和第三簇7之间的对应关系,确定第一簇5为一个第三簇(记为第三簇5),以实现确定对象数据S200和第三簇5之间的对应关系,也就是说,第一簇7和第一簇5为两个第三簇。
实现方式A2,对多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果,包括:对于多个第一簇中的任一个第一簇,对任一个第一簇中的各个对象数据进行离群点检测处理,得到任一个第一簇中各个对象数据的离群点检测结果;基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定多个第三簇,包括:基于多个第二簇和各个第一簇中各个对象数据的离群点检测结果,确定多个第三簇。
本申请实施例中,对于任一个第一簇,基于离群点检测算法,对该第一簇中的各个对象数据进行离群点检测处理,得到该第一簇中的各个对象数据的离群点检测结果。通过这种方式,确定各个第一簇中各个对象数据的离群点检测结果。之后,基于多个第二簇和各个第一簇中各个对象数据的离群点检测结果,确定多个第三簇。
可选的,基于多个第二簇和各个第一簇中各个对象数据的离群点检测结果,确定多个第三簇,包括:对于多个第一簇中的任一个第一簇,响应于任一个第一簇中的各个对象数据中存在第三对象数据,从多个第二簇中确定任一个第一簇所对应的第二簇,第三对象数据的离群点检测结果为非离群点对象数据;确定任一个第一簇所对应的第二簇为一个第三簇;响应于第三对象数据不属于一个第三簇,将第三对象数据添加至一个第三簇中。
可选的,基于多个第二簇和各个第一簇中各个对象数据的离群点检测结果,确定多个第三簇,包括:对于多个第一簇中的任一个第一簇,响应于任一个第一簇中的各个对象数据中存在第四对象数据,确定一个第四对象数据所属的第二簇为一个第三簇,第四对象数据的离群点检测结果为离群点对象数据。
有关实现方式A2的说明,请参见上文中有关实现方式A1的说明,实现方式A1与实现方式A2的原理相类似,在此不再赘述。
在一种可能的实现方式中,基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定多个第三簇,包括:基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定至少两个聚类处理结果,一个聚类处理结果包括多个第四簇,一个第四簇中包括至少一个对象数据;确定各个聚类处理结果的评价指标,评价指标用于表征聚类处理结果的准确性;基于各个聚类处理结果的评价指标中最大评价指标对应的聚类处理结果,确定多个第三簇。
本申请实施例中,基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,采用至少两种方式能够确定至少两个聚类处理结果。对于每一个聚类处理结果,计算该聚类处理结果的评价指标。其中,评价指标的计算方式在此不做限定,示例性的,评价指标为调整兰德指数(Adjusted Rand Index,ARI) 或者归一化互信息(Normalized MutualInformation,NMI),ARI的取值为[-1, 1],值越大,聚类处理结果的准确性越高,NMI的取值为[0,1],值越大,聚类处理结果的准确性越高。
在计算出各个聚类处理结果的评价指标之后,从各个聚类处理结果的评价指标中确定最大评价指标,挑选出最大评价指标对应的聚类处理结果。最大评价指标对应的聚类处理结果中的各个第四簇,即为多个第三簇。
在一种可能的实现方式中,基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定多个第三簇之后,还包括:获取基于第三聚类算法对多个对象数据进行聚类处理得到的多个第五簇,一个第五簇中包括至少一个对象数据;基于多个第三簇、多个第五簇和各个对象数据的离群点检测结果,确定多个第六簇,一个第六簇中包括至少一个对象数据。
第三聚类算法在本申请实施例中不做限定。示例性的,第三聚类算法包括但不限于Leiden算法、Louvain算法、基于深度学习特征表达的SOTA算法、K 均值聚类算法、DESC算法等。其中,第一聚类算法、第二聚类算法和第三聚类算法,三者是三种不同的聚类算法。
本申请实施例不对基于第三聚类算法得到的第五簇的数量做限定,第五簇的数量和第一簇的数量相同或者不同,第五簇的数量和第二簇的数量相同或者不同,第五簇的数量和第三簇的数量相同或者不同,第五簇的数量和第四簇的数量相同或者不同。
本申请实施例中,基于多个第三簇、多个第五簇和各个对象数据的离群点检测结果,确定多个第六簇,详细请参见步骤202和步骤203的相关描述,二者实现原理类似,在此不再赘述。
可以理解的是,采用三个或者三个以上的聚类算法对多个对象数据进行聚类处理后,本申请实施例先基于两种聚类算法的聚类结果(即多个第一簇和多个第二簇),按照步骤201-步骤203的方式,确定出多个第三簇。再基于多个第三簇和第三种聚类算法的聚类结果(即多个第五簇),确定出多个第六簇。之后,基于多个第六簇和第四种聚类算法的聚类结果,确定出多个第七簇,以此类推,以实现使用三个或者三个以上的聚类算法确定多个对象数据的聚类结果,提高聚类结果的准确性。
上述方法是基于多个第一簇和多个第二簇和各个对象数据的离群点检测结果确定多个第三簇,第一簇和第二簇是基于不同的聚类算法对多个对象数据进行聚类处理得到的,实现了使用两个聚类算法对多个对象数据进行聚类处理,提高聚类结果的准确性。
上述从方法步骤的角度详细介绍了本申请实施例的聚类处理方法,下面结合场景进行详细说明。本申请实施例的场景是基于两种不同的聚类算法,对多个细胞数据进行聚类的场景,任一个细胞数据为单细胞数据。该场景中的细胞数据为24679个,这24679万个细胞数据的来源在此不做限定。
如图5所示,图5是本申请实施例提供的一种细胞数据的聚类处理方法的流程图,其中,细胞数据为细胞的基因表达矩阵。首先,对细胞的基因表达矩阵进行预处理,一方面,通过对细胞的基因表达矩阵进行预处理,实现降维细胞的基因表达矩阵,得到降维对象数据,另一方面,对预处理后的细胞的基因表达矩阵进行聚类处理。本申请实施例中,使用莱顿算法对多个预处理后的细胞的基因表达矩阵进行聚类处理,得到多个第一簇。使用深度嵌入单细胞聚类算法对多个预处理后的细胞的基因表达矩阵进行聚类处理,得到多个第二簇。之后,基于多个第一簇和多个第二簇得到交叉表,交叉表的一列数据表征一个第二簇中的各个细胞数据,交叉表的一行数据表征一个第一簇中的各个细胞数据。
需要说明的是,在使用莱顿算法对多个预处理后的细胞的基因表达矩阵进行聚类处理时,和/或,在使用深度嵌入单细胞聚类算法对多个预处理后的细胞的基因表达矩阵进行聚类处理时,可能会对预处理后的细胞的基因表达矩阵进行降维处理,此时,降维处理后的预处理后的细胞的基因表达矩阵为降维对象数据。
本申请实施例中,对于交叉表中的任意一列,该列对应至少一个降维对象数据,对该列对应的各个降维对象数据进行离群点检测处理,得到该列对应的各个降维对象数据的离群点检测结果。通过这种方式,得到交叉表中每一列对应的各个降维对象数据的离群点检测结果,之后,基于交叉表中每一列对应的各个降维对象数据的离群点检测结果,确定多个第三簇。
有关图5的说明可以见步骤201至步骤203的相关描述,二者实现原理类似,在此不再赘述。
本申请实施例使用莱顿算法对24679个单细胞数据进行聚类处理,得到莱顿算法对应的聚类结果(即上文提及的多个第一簇)。请参见图6或图13,图6 是本申请实施例提供的一种莱顿算法对应的单细胞数据的聚类结果示意图,图 13是本申请实施例提供的一种莱顿算法对应的单细胞数据的聚类结果效果图。由图6可知,使用莱顿算法对24679个单细胞数据进行聚类处理,得到16个第一簇,这16个第一簇的第一簇标识分别为0至15,每一个第一簇中包括至少一个单细胞数据。
本申请实施例还使用DESC算法对24679个单细胞数据进行聚类处理,得到DESC算法对应的聚类结果(即上文提及的多个第二簇)请参见图7或图14,图7是本申请实施例提供的一种DESC算法对应的单细胞数据的聚类结果示意图,图14是本申请实施例提供的一种DESC算法对应的单细胞数据的聚类结果效果图。由图7可知,使用DESC算法对24679个单细胞数据进行聚类处理,得到12个第二簇,这12个第二簇的第二簇标识分别为0至11,每一个第二簇中包括至少一个单细胞数据。
之后,本申请实施例基于16个第一簇(即图6所示的聚类结果)和12个第二簇(即图7所示的聚类结果)得到交叉表,确定交叉表中的每一列对应的单细胞数据的离群点检测结果,并基于交叉表中每一列对应的各个单细胞数据的离群点检测结果,确定多个第三簇。请参见图8或图15,图8是本申请实施例提供的一种聚类处理后的单细胞数据的聚类结果示意图,图15是本申请实施例提供的一种聚类处理后的单细胞数据的聚类结果效果图,其中,聚类处理后的单细胞数据的聚类结果即为多个第三簇。由图8可知,使用本申请实施例提供的聚类处理方法,对莱顿算法对应的单细胞数据的聚类结果和DESC算法对应的单细胞数据的聚类结果进行聚类处理后,得到16个第三簇,这16个第三簇的第三簇标识分别为0至15,每一个第三簇中包括至少一个单细胞数据。
请参见图9或图16,图9是本申请实施例提供的一种单细胞数据的实际聚类结果示意图,图16是本申请实施例提供的一种单细胞数据的实际聚类结果效果图。由图9能够明显看出,24679个单细胞数据的实际聚类结果为8个簇,这 8个簇分别为FCGR3A+单核细胞数据对应的簇、CD14+单核细胞(一种破骨细胞前体细胞)数据对应的簇、树突状细胞数据对应的簇、巨核细胞数据对应的簇、CD4 T细胞(一种淋巴细胞)数据对应的簇、B细胞(一种淋巴细胞)数据对应的簇、CD8 T细胞(一种淋巴细胞)数据对应的簇、自然杀伤细胞(NaturalKiller Cell,NK细胞)数据对应的簇。
对比图6和图9可以看出,莱顿算法对单细胞数据进行聚类处理后得到的 16个第一簇,与单细胞数据的实际聚类结果相差较大,如CD4 T细胞数据在图 6中被均分在四个第一簇中,这四个第一簇的第一簇标识分别为0、1、8和9。同样的,对比图7和图9可以看出,DESC算法对单细胞数据进行聚类处理后得到的12个第二簇,与单细胞数据的实际聚类结果有一定差距,如CD4 T细胞数据在图7中被均分在四个第二簇中,这四个第二簇的第二簇标识分别为0、6、5 和9。而对比图8和图9可以看出,使用本申请实施例提供的聚类处理方法,对图6和图7所示的聚类结果进行处理后得到的图8中的16个第三簇,比较接近单细胞数据的实际聚类结果,如CD4 T细胞数据在图8中大部分被分在一个第三簇中,这个第三簇的第三簇标识为0,还有一部分被不等分在三个第三簇中,这三个第三簇的第三簇标识分别1、8和9。
本申请实施例还使用ARI和NMI来评价莱顿算法对应的单细胞数据的聚类结果(简称莱顿算法的聚类结果)的准确性、DESC算法对应的单细胞数据的聚类结果(简称DESC算法的聚类结果)的准确性、使用本申请实施例提供的聚类处理方法对莱顿算法的聚类结果和DESC算法的聚类结果进行聚类处理后得到的单细胞数据的聚类结果(简称本申请实施例的聚类结果)的准确性,如下表5所示。
表5
聚类结果 | ARI | NMI |
本申请实施例的聚类结果 | 0.63 | 0.70 |
莱顿算法的聚类结果 | 0.54 | 0.69 |
DESC算法的聚类结果 | 0.5 | 0.68 |
由表5可以明显看出,本申请实施例的聚类结果相较于莱顿算法的聚类结果,ARI值和NMI值均有提升,且本申请实施例的聚类结果相较于DESC算法的聚类结果,ARI值和NMI值均有明显提升。由于ARI值越大聚类结果的准确性较高,NMI值越大聚类结果的准确性较高,因此,本申请实施例的聚类结果明显高于莱顿算法的聚类结果和DESC算法的聚类结果。因此,本申请实施例提供的聚类处理方法能够提高对聚类结果的准确性。
图10所示为本申请实施例提供的一种聚类处理装置的结构示意图,如图10 所示,该装置包括:
获取模块1001,用于获取多个第一簇和多个第二簇,多个第一簇是基于第一聚类算法对多个对象数据进行聚类处理得到的,一个第一簇中包括至少一个对象数据,多个第二簇是基于第二聚类算法对多个对象数据进行聚类处理得到的,一个第二簇中包括至少一个对象数据;
检测模块1002,用于对多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果;
确定模块1003,用于基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定多个第三簇,一个第三簇中包括至少一个对象数据。
在一种可能的实现方式中,检测模块1002,用于对于多个第二簇中的任一个第二簇,对任一个第二簇中的各个对象数据进行离群点检测处理,得到任一个第二簇中各个对象数据的离群点检测结果;
确定模块1003,用于基于多个第一簇和各个第二簇中各个对象数据的离群点检测结果,确定多个第三簇。
在一种可能的实现方式中,确定模块1003,用于对于多个第二簇中的任一个第二簇,响应于任一个第二簇中的各个对象数据中存在第一对象数据,从多个第一簇中确定任一个第二簇所对应的第一簇,第一对象数据的离群点检测结果为非离群点对象数据;确定任一个第二簇所对应的第一簇为一个第三簇;响应于第一对象数据不属于一个第三簇,将第一对象数据添加至一个第三簇中。
在一种可能的实现方式中,确定模块1003,用于基于多个第一簇和多个第二簇确定交叉表,交叉表的一行数据表征一个第一簇中的各个对象数据,交叉表的一列数据表征一个第二簇中的各个对象数据;基于交叉表从多个第一簇中确定任一个第二簇所对应的第一簇。
在一种可能的实现方式中,一个第一簇对应一个第一簇标识,一个第二簇对应一个第二簇标识,一个对象数据包括一个对象标识;
确定模块1003,用于基于各个第一簇的第一簇标识、各个第一簇中包含的各个对象数据的对象标识、各个第二簇的第二簇标识和各个第二簇中包含的各个对象数据的对象标识,确定各个簇标识集合对应的对象标识,一个簇标识集合包括一个第一簇标识和一个第二簇标识;基于各个簇标识集合对应的对象标识的数量确定交叉表。
在一种可能的实现方式中,交叉表中包括多个非零数据,非零数据表征非零数据所在行对应的第一簇和非零数据所在列对应的第二簇包含相同对象数据的数量;
确定模块1003,用于从交叉表中任一个第二簇对应的列所包含的各个非零数据中,确定最大非零数据;将最大非零数据所在行对应的第一簇,确定为任一个第二簇所对应的第一簇。
在一种可能的实现方式中,确定模块1003,用于对于多个第二簇中的任一个第二簇,响应于任一个第二簇中的各个对象数据中存在第二对象数据,确定一个第二对象数据所属的第一簇为一个第三簇,第二对象数据的离群点检测结果为离群点对象数据。
在一种可能的实现方式中,检测模块1002,用于对各个对象数据进行降维处理,得到各个降维对象数据;对各个降维对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果。
在一种可能的实现方式中,一个降维对象数据对应至少两种降维数据;
检测模块1002,用于对于任一个降维对象数据,将任一个降维对象数据对应的至少两种降维数据进行合并,得到任一个降维对象数据对应的合并数据;对各个降维对象数据对应的合并数据进行离群点检测处理,得到各个对象数据的离群点检测结果。
在一种可能的实现方式中,检测模块1002,用于对于多个第一簇中的任一个第一簇,对任一个第一簇中的各个对象数据进行离群点检测处理,得到任一个第一簇中各个对象数据的离群点检测结果;
确定模块1003,用于基于多个第二簇和各个第一簇中各个对象数据的离群点检测结果,确定多个第三簇。
在一种可能的实现方式中,确定模块1003,用于基于多个第一簇、多个第二簇和各个对象数据的离群点检测结果,确定至少两个聚类处理结果,一个聚类处理结果包括多个第四簇,一个第四簇中包括至少一个对象数据;确定各个聚类处理结果的评价指标,评价指标用于表征聚类处理结果的准确性;基于各个聚类处理结果的评价指标中最大评价指标对应的聚类处理结果,确定多个第三簇。
在一种可能的实现方式中,对象数据为细胞的基因表达矩阵;
获取模块1001,用于使用莱顿算法对多个细胞的基因表达矩阵进行聚类处理,得到多个第一簇;使用基于深度学习特征表达的目前技术水平算法对多个细胞的基因表达矩阵进行聚类处理,得到多个第二簇。
在一种可能的实现方式中,获取模块1001,还用于获取基于第三聚类算法对多个对象数据进行聚类处理得到的多个第五簇,一个第五簇中包括至少一个对象数据;
确定模块1003,还用于基于多个第三簇、多个第五簇和各个对象数据的离群点检测结果,确定多个第六簇,一个第六簇中包括至少一个对象数据。
上述装置基于多个第一簇和多个第二簇和各个对象数据的离群点检测结果确定多个第三簇,第一簇和第二簇是基于不同的聚类算法对多个对象数据进行聚类处理得到的,实现了使用两个聚类算法确定多个对象数据的聚类结果,提高聚类结果的准确性,提高后续数据处理的准确性。
应理解的是,上述图10提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11示出了本申请一个示例性实施例提供的终端设备1100的结构框图。该终端设备1100可以是便携式移动终端,比如:智能手机、平板电脑、MP3 (Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面 3)播放器、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端设备1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端设备1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、 FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器 1101可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中方法实施例提供的聚类处理方法。
在一些实施例中,终端设备1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107、定位组件1108和电源1109中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置在终端设备1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端设备1100的不同表面或呈折叠设计;在另一些实施例中,显示屏1105可以是柔性显示屏,设置在终端设备1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路 1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
定位组件1108用于定位终端设备1100的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1108可以是基于美国的 GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1109用于为终端设备1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端设备1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
加速度传感器1111可以检测以终端设备1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1112可以检测终端设备1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端设备1100的3D 动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1113可以设置在终端设备1100的侧边框和/或显示屏1105的下层。当压力传感器1113设置在终端设备1100的侧边框时,可以检测用户对终端设备1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114 采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置在终端设备1100的正面、背面或侧面。当终端设备1100上设置有物理按键或厂商Logo时,指纹传感器1114 可以与物理按键或厂商Logo集成在一起。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制显示屏1105的显示亮度。具体地,当环境光强度较高时,调高显示屏1105的显示亮度;当环境光强度较低时,调低显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1116,也称距离传感器,通常设置在终端设备1100的前面板。接近传感器1116用于采集用户与终端设备1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端设备1100的正面之间的距离逐渐变小时,由处理器1101控制显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端设备1100的正面之间的距离逐渐变大时,由处理器1101控制显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图11中示出的结构并不构成对终端设备1100 的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图12为本申请实施例提供的服务器的结构示意图,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器1201和一个或多个的存储器1202,其中,该一个或多个存储器1202中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器1201加载并执行以实现上述各个方法实施例提供的聚类处理方法,示例性的,处理器1201为CPU。当然,该服务器1200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1200还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以使电子设备实现上述任一种聚类处理方法。
可选地,上述计算机可读存储介质可以是只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品中存储有至少一条计算机指令,该至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种聚类处理方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (17)
1.一种聚类处理方法,其特征在于,所述方法包括:
获取多个第一簇和多个第二簇,所述多个第一簇是基于第一聚类算法对多个对象数据进行聚类处理得到的,一个第一簇中包括至少一个对象数据,所述多个第二簇是基于第二聚类算法对所述多个对象数据进行聚类处理得到的,一个第二簇中包括至少一个对象数据;
对所述多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果;
基于所述多个第一簇、所述多个第二簇和所述各个对象数据的离群点检测结果,确定多个第三簇,一个第三簇中包括至少一个对象数据。
2.根据权利要求1所述的方法,其特征在于,所述对所述多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果,包括:
对于所述多个第二簇中的任一个第二簇,对所述任一个第二簇中的各个对象数据进行离群点检测处理,得到所述任一个第二簇中各个对象数据的离群点检测结果;
所述基于所述多个第一簇、所述多个第二簇和所述各个对象数据的离群点检测结果,确定多个第三簇,包括:
基于所述多个第一簇和各个第二簇中各个对象数据的离群点检测结果,确定多个第三簇。
3.根据权利要求2所述的方法,其特征在于,所述基于所述多个第一簇和各个第二簇中各个对象数据的离群点检测结果,确定多个第三簇,包括:
对于所述多个第二簇中的任一个第二簇,响应于所述任一个第二簇中的各个对象数据中存在第一对象数据,从所述多个第一簇中确定所述任一个第二簇所对应的第一簇,所述第一对象数据的离群点检测结果为非离群点对象数据;
确定所述任一个第二簇所对应的第一簇为一个第三簇;
响应于所述第一对象数据不属于所述一个第三簇,将所述第一对象数据添加至所述一个第三簇中。
4.根据权利要求3所述的方法,其特征在于,所述从所述多个第一簇中确定所述任一个第二簇所对应的第一簇,包括:
基于所述多个第一簇和所述多个第二簇确定交叉表,所述交叉表的一行数据表征一个第一簇中的各个对象数据,所述交叉表的一列数据表征一个第二簇中的各个对象数据;
基于所述交叉表从所述多个第一簇中确定所述任一个第二簇所对应的第一簇。
5.根据权利要求4所述的方法,其特征在于,所述一个第一簇对应一个第一簇标识,一个第二簇对应一个第二簇标识,一个对象数据包括一个对象标识;
所述基于所述多个第一簇和所述多个第二簇确定交叉表,包括:
基于各个第一簇的第一簇标识、所述各个第一簇中包含的各个对象数据的对象标识、各个第二簇的第二簇标识和所述各个第二簇中包含的各个对象数据的对象标识,确定各个簇标识集合对应的对象标识,一个簇标识集合包括一个第一簇标识和一个第二簇标识;
基于所述各个簇标识集合对应的对象标识的数量确定交叉表。
6.根据权利要求4所述的方法,其特征在于,所述交叉表中包括多个非零数据,所述非零数据表征所述非零数据所在行对应的第一簇和所述非零数据所在列对应的第二簇包含相同对象数据的数量;
所述基于所述交叉表从所述多个第一簇中确定所述任一个第二簇所对应的第一簇,包括:
从所述交叉表中所述任一个第二簇对应的列所包含的各个非零数据中,确定最大非零数据;
将所述最大非零数据所在行对应的第一簇,确定为所述任一个第二簇所对应的第一簇。
7.根据权利要求2所述的方法,其特征在于,所述基于所述多个第一簇和各个第二簇中各个对象数据的离群点检测结果,确定多个第三簇,包括:
对于所述多个第二簇中的任一个第二簇,响应于所述任一个第二簇中的各个对象数据中存在第二对象数据,确定一个第二对象数据所属的第一簇为一个第三簇,所述第二对象数据的离群点检测结果为离群点对象数据。
8.根据权利要求1至7任一所述的方法,其特征在于,所述对所述多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果,包括:
对所述各个对象数据进行降维处理,得到各个降维对象数据;
对所述各个降维对象数据进行离群点检测处理,得到所述各个对象数据的离群点检测结果。
9.根据权利要求8所述的方法,其特征在于,一个降维对象数据对应至少两种降维数据;
所述对所述各个降维对象数据进行离群点检测处理,得到所述各个对象数据的离群点检测结果,包括:
对于任一个降维对象数据,将所述任一个降维对象数据对应的至少两种降维数据进行合并,得到所述任一个降维对象数据对应的合并数据;
对所述各个降维对象数据对应的合并数据进行离群点检测处理,得到所述各个对象数据的离群点检测结果。
10.根据权利要求1至7任一所述的方法,其特征在于,所述对所述多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果,包括:
对于所述多个第一簇中的任一个第一簇,对所述任一个第一簇中的各个对象数据进行离群点检测处理,得到所述任一个第一簇中各个对象数据的离群点检测结果;
所述基于所述多个第一簇、所述多个第二簇和所述各个对象数据的离群点检测结果,确定多个第三簇,包括:
基于所述多个第二簇和各个第一簇中各个对象数据的离群点检测结果,确定多个第三簇。
11.根据权利要求1至7任一所述的方法,其特征在于,所述基于所述多个第一簇、所述多个第二簇和所述各个对象数据的离群点检测结果,确定多个第三簇,包括:
基于所述多个第一簇、所述多个第二簇和所述各个对象数据的离群点检测结果,确定至少两个聚类处理结果,一个聚类处理结果包括多个第四簇,一个第四簇中包括至少一个对象数据;
确定各个聚类处理结果的评价指标,所述评价指标用于表征所述聚类处理结果的准确性;
基于所述各个聚类处理结果的评价指标中最大评价指标对应的聚类处理结果,确定所述多个第三簇。
12.根据权利要求1至7任一所述的方法,其特征在于,所述对象数据为细胞的基因表达矩阵;
所述获取多个第一簇和多个第二簇,包括:
使用莱顿算法对多个细胞的基因表达矩阵进行聚类处理,得到多个第一簇;
使用基于深度学习特征表达的目前技术水平算法对所述多个细胞的基因表达矩阵进行聚类处理,得到多个第二簇。
13.根据权利要求1至7任一所述的方法,其特征在于,所述基于所述多个第一簇、所述多个第二簇和所述各个对象数据的离群点检测结果,确定多个第三簇之后,还包括:
获取基于第三聚类算法对所述多个对象数据进行聚类处理得到的多个第五簇,一个第五簇中包括至少一个对象数据;
基于所述多个第三簇、所述多个第五簇和所述各个对象数据的离群点检测结果,确定多个第六簇,一个第六簇中包括至少一个对象数据。
14.一种聚类处理装置,其特征在于,所述装置包括:
获取模块,用于获取多个第一簇和多个第二簇,所述多个第一簇是基于第一聚类算法对多个对象数据进行聚类处理得到的,一个第一簇中包括至少一个对象数据,所述多个第二簇是基于第二聚类算法对所述多个对象数据进行聚类处理得到的,一个第二簇中包括至少一个对象数据;
检测模块,用于对所述多个对象数据进行离群点检测处理,得到各个对象数据的离群点检测结果;
确定模块,用于基于所述多个第一簇、所述多个第二簇和所述各个对象数据的离群点检测结果,确定多个第三簇,一个第三簇中包括至少一个对象数据。
15.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使所述电子设备实现如权利要求1至13任一所述的聚类处理方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现如权利要求1至13任一所述的聚类处理方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行,以使计算机实现如权利要求1至13任一所述的聚类处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111235985.2A CN114298125A (zh) | 2021-10-22 | 2021-10-22 | 聚类处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111235985.2A CN114298125A (zh) | 2021-10-22 | 2021-10-22 | 聚类处理方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114298125A true CN114298125A (zh) | 2022-04-08 |
Family
ID=80964645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111235985.2A Pending CN114298125A (zh) | 2021-10-22 | 2021-10-22 | 聚类处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114298125A (zh) |
-
2021
- 2021-10-22 CN CN202111235985.2A patent/CN114298125A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299315B (zh) | 多媒体资源分类方法、装置、计算机设备及存储介质 | |
CN110807361B (zh) | 人体识别方法、装置、计算机设备及存储介质 | |
CN110222789B (zh) | 图像识别方法及存储介质 | |
CN110083791B (zh) | 目标群组检测方法、装置、计算机设备及存储介质 | |
CN110471858B (zh) | 应用程序测试方法、装置及存储介质 | |
CN111243668B (zh) | 分子结合位点检测方法、装置、电子设备及存储介质 | |
CN108320756B (zh) | 一种检测音频是否是纯音乐音频的方法和装置 | |
CN110675412A (zh) | 图像分割方法、图像分割模型的训练方法、装置及设备 | |
CN111738365B (zh) | 图像分类模型训练方法、装置、计算机设备及存储介质 | |
CN112084811A (zh) | 身份信息的确定方法、装置及存储介质 | |
CN113505256A (zh) | 特征提取网络训练方法、图像处理方法及装置 | |
CN114298123A (zh) | 聚类处理方法、装置、电子设备及可读存储介质 | |
CN107944024B (zh) | 一种确定音频文件的方法和装置 | |
CN114299306A (zh) | 获取图像检索模型的方法、图像检索方法、装置和设备 | |
CN113343709B (zh) | 意图识别模型的训练方法、意图识别方法、装置及设备 | |
CN113569822B (zh) | 图像分割方法、装置、计算机设备及存储介质 | |
CN113361376B (zh) | 获取视频封面的方法、装置、计算机设备及可读存储介质 | |
CN115168643A (zh) | 音频处理方法、装置、设备及计算机可读存储介质 | |
CN114817709A (zh) | 排序方法、装置、设备及计算机可读存储介质 | |
CN112907939B (zh) | 交通控制子区划分方法及装置 | |
CN114298125A (zh) | 聚类处理方法、装置、电子设备及计算机可读存储介质 | |
CN112287193A (zh) | 数据聚类方法、装置、计算机设备及存储介质 | |
CN111159168A (zh) | 数据处理方法和装置 | |
CN111259252A (zh) | 用户标识识别方法、装置、计算机设备及存储介质 | |
CN114298124A (zh) | 聚类处理方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |