本技术涉及数据处理领域,更具体地,本发明涉及一种用于药品数据库的数据处理方法,方法包括:获取药品数据集,所述药品数据集中包含若干药品数据;获取任一药品数据的预设邻域数据;将邻域数据聚类成若干聚类簇;计算各邻域数据的参考权重;以各邻域数据的参考权重为权重,利用LOF算法计算该药品数据的局部可达密度;基于局部可达密度利用LOF算法进行异常检测,以去除药品数据库中的异常数据。通过分析药品数据与各邻域数据属于同一类别的程度,给各邻域数据设置不同的权重,来提高异常检测的准确性。
背景技术
药品数据库中药品数据一般是通过人为录入或者是二维码识别的方式进行录入,无论是二维码识别还是人为录入,都会出现错误。为了防止这种错误影响到后续环节,需将药品数据库中的异常数据筛选出来。
药品数据一般呈类簇分布,例如一些治疗同类病症的多种药品,其药品数据具有相似特征,因而这种治疗同类病症的多种药品的数据会分布在同一类簇中。由于异常数据中存在错误信息,因而异常数据与所属类簇的其他数据的相似性降低,从而呈现出偏离所属类簇的特征。
局部异常因子算法(Local Outlier Factor,简称LOF)在进行异常检测时,是根据数据所在邻域内的数据密度偏离邻域内其他数据的数据密度的情况来反映数据的异常程度。该算法在计算数据密度时,是利用数据与邻域内各数据的距离的平均情况来反映数据密度。这种计算方法没有考虑数据的类簇特征,例如当数据处于类簇边缘时,该数据的邻域内包含多个种类的数据,由于该数据与其他类簇的距离较大,因而通过该数据与邻域内数据距离的平均情况计算出的数据密度应该较小,通过该方式计算出的数据密度,很容易将该数据判定为异常数据。而实际上该数据并没有明显偏离所属类簇,因而该数据并不是异常数据。利用传统LOF算法进行异常检测,很容易出现异常误判。因而如何通过考虑数据的类簇特征,实现准确的异常检测成为本发明的研究重点。
公开号为CN115292385A的专利申请文件中公开了一种基于LOF算法的个性化定制订单异常检测系统,该专利申请文件中仅仅使用LOF算法进行异常检测,没有考虑数据的类簇特征,因而该专利申请文件中方法不适用于解决本发明中问题。
实现思路