CN108108168A - 结合代码演化信息构造代码坏味训练数据集的方法 - Google Patents

结合代码演化信息构造代码坏味训练数据集的方法 Download PDF

Info

Publication number
CN108108168A
CN108108168A CN201711365477.XA CN201711365477A CN108108168A CN 108108168 A CN108108168 A CN 108108168A CN 201711365477 A CN201711365477 A CN 201711365477A CN 108108168 A CN108108168 A CN 108108168A
Authority
CN
China
Prior art keywords
bad taste
entity
code
training dataset
version
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.)
Granted
Application number
CN201711365477.XA
Other languages
English (en)
Other versions
CN108108168B (zh
Inventor
王逸君
周晓聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN201711365477.XA priority Critical patent/CN108108168B/zh
Publication of CN108108168A publication Critical patent/CN108108168A/zh
Application granted granted Critical
Publication of CN108108168B publication Critical patent/CN108108168B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • G06F8/4435Detection or removal of dead or redundant code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明涉及一种结合代码演化信息构造代码坏味训练数据集的方法,包括有以下步骤:A、从网络源代码仓库中获取一个软件的基线版本和基线版本之后的对照版本的源代码;B、对基线版本和对照版本的源代码实体进行检测,并提取基线版本中的变化坏味实体和无坏味实体,将变化坏味实体标注为具有坏味的实体,将无坏味实体标注为不具有坏味的实体;C、抽取数量与变化坏味实体数量相当的无坏味实体;D、计算变化坏味实体和无坏味实体在基线版本源代码中的度量特征;E、变化坏味实体和无坏味实体组成变化坏味训练数据集;F、利用遗传算法对变化坏味训练数据集内的实体的度量特征进行降维,降维后的变化坏味实体和无坏味实体组成代码坏味训练数据集。

Description

结合代码演化信息构造代码坏味训练数据集的方法
技术领域
本发明涉及代码坏味检测技术领域,更具体地,涉及一种结合代码演化信息构造代码坏味训练数据集的方法。
背景技术
代码坏味自动检测是目前软件工程研究的热点问题之一,其中一类重要的方法是基于机器学习算法构建模型对代码是否存在坏味进行分类,影响这类方法准确性的关键之一是用于构建机器学习算法模型的训练数据集。目前这类方法都是使用多个开源软件项目,通过人工审查项目源代码或使用自动工具(例如iPlasma,inFusion,PMD等)标注项目的实体(类/方法)是否含有代码坏味,将这些开源软件项目的实体及其是否有坏味的标注作为有监督机器学习算法的训练数据集,得到有坏味实体的特征训练模型,然后进行代码坏味的自动检测。
近年来,代码坏味自动检测的研究取得了一定的成果。Maiga等学者于2012年提出的一种支持向量机的方法检测软件源代码中的坏味,通过一个给定的训练集,可以学习如何识别类似的坏味。这种方法的特点是不依赖于大量的反模式知识,通过采用增量的支持向量机和程序员的反馈来提高精度。但是用于支持向量机算法训练的数据集依然需要根据坏味的定义和上下文,人工进行标注。Palomba等学者于2013年提出的一种名为HIST(Historical Information for Smell deTection)的方法,他们通过分析从版本管理工具中提取出的历史修改信息采用启发式算法检测坏味,这种方法要求待检测的程序需要有版本管理工具提供修改信息,同时由于版本管理工具只提供文件级别的变化,依然需要人工标注文件内部各个类、方法、属性的变化,最后对于坏味实体的判断需要人工的参与。Sahin等学者于2014年将获取坏味检测规则的方法定义为一个双层优化问题,上层是基于遗传算法生成的检测规则,而下层是典型的坏味实体,只有下层的最优选择才会成为上层优化的候选方案。这种方法的检测依据仍然是程序度量值,通过上层的遗传算法总结规律,但是下层的典型坏味数据集仍然需要人工标注,其数量有限,并且不能保证覆盖各种坏味情况。ShizheFu等学者于2015年采用关联分析的方法结合演化信息识别坏味,这种方法首先从版本管理工具中提取目标系统的变化信息,然后进行预处理构造变化数据集,接下来采用频繁项算法,比如Apriori或FP增长算法对变化数据集进行挖掘,输出不同代码实体的耦合情况,最后根据不同的坏味在文献中的定义,定义启发式算法,将关联规则和结构信息结合起来自动寻找坏味。这种方法和HIST比较相似,仍然需要手工的干预,并且结合了演化数据来检测坏味。Lucas等学者于2015年研究了决策树算法在识别坏味方面的有效性,他们基于Ptidej团队的数据集,通过决策树算法生成模型进行预测,结果表明决策树算法能够有效的学习坏味检测的规则,但是这种方法的准确率依然取决于标注的可信度。
综上可知,现有的标注方法通常是基于人工或者工具,但都存在局限性。通过人工审查项目源代码标注坏味依赖审查者的主观经验,且难以对大规模的项目源代码进行人工审查;使用自动工具标注坏味则依赖工具本身的准确度,但自动工具本身的准确度难以保证,甚至不同的自动工具对同一个实体是否有坏味的检测结果也不尽相同。这些问题使得要得到大规模可信的训练数据集变得很困难,所以有必要加以改进。
发明内容
本发明提供的结合代码演化信息构造代码坏味训练数据集的方法利用现有工具分别对同一软件的基线版本和对照版本的实体进行检测,提取代码演化过程中的变化坏味实体和无坏味实体构造训练数据集,可以解决现有工具生成的数据集可信度较低的问题,同时也解决了手工标注无法生成大规模数据集的问题;并且结合遗传算法,对数据集中的度量特征进行降维,避免过拟合,可以进一步提升该数据集预测坏味的能力。
为实现上述目的,本发明采取的技术方案为:
结合代码演化信息构造代码坏味训练数据集的方法,包括有以下步骤:
A、从网络源代码仓库中获取一个软件的基线版本的源代码和基线版本之后的对照版本的源代码;
B、使用代码坏味自动检测工具对基线版本和对照版本的源代码实体进行检测,并提取基线版本中的变化坏味实体和无坏味实体,然后将变化坏味实体标注为具有坏味的实体,将无坏味实体标注为不具有坏味的实体;其中变化坏味实体指的是在基线版本中被工具识别为有坏味而在对照版本中被工具识别为没有坏味的实体,而无坏味实体指的是在基线版本和对照版本中都被工具识别为没有坏味的实体;
C、利用基于抽样的方法,随机抽取数量与变化坏味实体数量相当的无坏味实体;
D、计算变化坏味实体和无坏味实体在基线版本源代码中的度量特征;
E、变化坏味实体和无坏味实体的标识符、度量特征、标注组成变化坏味训练数据集;
F、利用遗传算法对变化坏味训练数据集内的实体的度量特征进行降维,降维后的变化坏味实体和无坏味实体组成代码坏味训练数据集。
优选地,步骤A所选的基线版本和对照版本之间需要经历至少一个主版本号变更或多个次版本号变更。
优选地,所述步骤C采用不充分抽样对无坏味实体进行随机抽取,抽取的无坏味实体数量与变化坏味实体数量的比例在1:1到2:1之间。
优选地,所述步骤D计算的度量特征包括软件规模度量、内聚度度量、耦合度度量和继承度量。
优选地,所述步骤F进行降维的具体过程如下:
S1.使用二进制序列对变化坏味训练数据集内的变化坏味实体或无坏味实体的度量特征进行表示,其中,0代表不选择度量特征中的某一度量,1代表选择度量特征中的某一度量;
S2.为变化坏味训练数据集内的变化坏味实体和无坏味实体的度量特征初始化一个二进制序列种群;
S3.将二进制序列种群内的二进制序列个体作为输入,利用有监督的机器学习分类算法,建立代码坏味预测模型,使用十折交叉法计算预测模型的准确率作为个体的适应度值;
S4.判断二进制序列个体的平均准确率是否已经处于稳定的阶段,若是,则输出适应度值最高的二进制序列个体作为最优的二进制序列对实体的度量特征进行降维;若否则采用轮盘赌选择亲代,通过均匀交叉及位翻转变异产生新的二进制序列个体,然后重复步骤S3;
其中均匀交叉指的是后代二进制序列个体的每个位都有50%的机会来自第一个亲代或其第二个亲代,位翻转变异指的是二进制序列个体的每一位在变异时是以一定变异率由0翻转到1,或从1翻转到0。
优选地,所述步骤B使用到的代码坏味自动检测工具为iPlasma、inFusion、JDeodorant、CheckStyle、PMD的一种。
与现有技术相比,本发明的优点和有益效果是:
1)本发明提供的方法结合代码演化信息对变化坏味实体和无坏味实体的标注可以解决现有技术使用工具标注存在的可信度难以保证的技术缺陷,以及解决手动检测存在的无法得到大规模的代码坏味训练数据集的技术缺陷,得到更可信的大规模的代码坏味训练数据集。
2)传统构造坏味训练数据集的方法不会根据具体的坏味对度量特征降维,过多的度量可能会导致过拟合现象,影响预测的准确率。本发明提供的方法利用遗传算法对训练数据集的度量特征进行降维,可以获得检测坏味的本质特征,去除无用噪声,避免过拟合,进一步提升训练数据集构造模型的预测能力。
附图说明
图1为方法的流程示意图。
图2为实体的示例图。
图3为进行降维的过程图。
具体实施方式
对某个软件项目的给定版本,利用代码坏味自动检测工具标注为坏味的实体可分为两类:一类在后续某个版本被代码坏味自动检测工具检测为没有坏味的实体,称为变化坏味实体;另一类是在后续某个版本中依然被检测为有坏味的实体,称为未变化坏味实体。经过研究发现,在利用代码坏味自动检测工具标注实体是否有坏味的训练数据集中,结合软件演化的历史信息,只将变化坏味实体作为真正有坏味的实体,将它们和在基线版本与后续某个版本中都没有被代码坏味自动检测工具识别为坏味的实体一同训练构建有监督机器学习算法的模型,而不是像现有方法中仅仅依赖代码坏味自动检测工具的标注,可提高模型的准确度。
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图和具体实施例,进一步阐述本发明是如何实施的。
参见图1,本发明提出一种结合代码演化信息构造坏味训练数据集的方法,具体步骤如下:
A、从网络源代码仓库中获取一个软件的基线版本的源代码和基线版本之后的对照版本的源代码。
其中,步骤A所选的基线版本和对照版本之间需要经历至少一个主版本号变更或多个次版本号变更。
B、使用代码坏味自动检测工具对基线版本和对照版本的源代码实体进行检测,并提取基线版本中的变化坏味实体和无坏味实体,然后将变化坏味实体标注为具有坏味的实体,将无坏味实体标注为不具有坏味的实体;其中变化坏味实体指的是在基线版本中被工具识别为有坏味而在对照版本中被工具识别为没有坏味的实体,而无坏味实体指的是在基线版本和对照版本中都被工具识别为没有坏味的实体。
其中,步骤B使用到的代码坏味自动检测工具为iPlasma、inFusion、JDeodorant、CheckStyle、PMD的一种。实体包括了类和方法这两种粒度上的实体,实体全类名或方法名作为唯一的标识符。本实施中,将变化坏味实体标注为TRUE,将无坏味实体标注为FALSE。
C、利用基于抽样的方法,随机抽取数量与变化坏味实体数量相当的无坏味实体。
其中,步骤C采用不充分抽样对无坏味实体进行随机抽取,抽取的无坏味实体数量与变化坏味实体数量的比例在1:1到2:1之间。
D、计算变化坏味实体和无坏味实体在基线版本源代码中的度量特征。
具体的,计算的度量特征包括了如下四种维度的度量:
1)软件规模度量,例如代码总行数(LOC),方法数(NOM),属性数(NOA)等。
2)内聚度度量,例如圈复杂度(CYCLO),最大嵌套级别(MAXNESTING),可访问的变量数(NOAV),局部变量数(NOLV)等。
3)耦合度度量,例如访问外部数据数(ATFD),提供外部数据数(FDP),耦合强度(CINT),类耦合类数(CBO)等。
继承度量,例如类继承深度(DIT),重写方法数(NMO)等。
E、变化坏味实体和无坏味实体的标识符、度量特征、标注组成变化坏味训练数据集。
具体的,如图2所示,变化坏味训练数据集可看做一张二维表,每一行代表一个实体,而列则包含实体的唯一标识符、对实体计算的多个度量以及对实体是否具有该种坏味的逻辑值标注。
F、利用遗传算法对变化坏味训练数据集内的实体的度量特征进行降维,降维后的变化坏味实体和无坏味实体组成代码坏味训练数据集。
具体如图3所示,进行降维的具体过程如下:
S1.使用二进制序列对变化坏味训练数据集内的变化坏味实体或无坏味实体的度量特征进行表示,其中,0代表不选择度量特征中的某一度量,1代表选择度量特征中的某一度量;
S2.为变化坏味训练数据集内的变化坏味实体和无坏味实体的度量特征初始化一个二进制序列种群;
S3.将二进制序列种群内的二进制序列个体作为输入,利用有监督的机器学习分类算法,建立代码坏味预测模型,使用十折交叉法计算预测模型的准确率作为个体的适应度值;
S4.判断二进制序列个体的平均准确率是否已经处于稳定的阶段,若是,则输出适应度值最高的二进制序列个体作为最优的二进制序列对实体的度量特征进行降维;若否则采用轮盘赌选择亲代,通过均匀交叉及位翻转变异产生新的二进制序列个体,然后重复步骤S3;
其中均匀交叉指的是后代二进制序列个体的每个位都有50%的机会来自第一个亲代或其第二个亲代,位翻转变异指的是二进制序列个体的每一位在变异时是以一定变异率由0翻转到1,或从1翻转到0。
最后说明,以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:包括有以下步骤:
A、从网络源代码仓库中获取一个软件的基线版本的源代码和基线版本之后的对照版本的源代码;
B、使用代码坏味自动检测工具对基线版本和对照版本的源代码实体进行检测,并提取基线版本中的变化坏味实体和无坏味实体,然后将变化坏味实体标注为具有坏味的实体,将无坏味实体标注为不具有坏味的实体;其中变化坏味实体指的是在基线版本中被工具识别为有坏味而在对照版本中被工具识别为没有坏味的实体,而无坏味实体指的是在基线版本和对照版本中都被工具识别为没有坏味的实体;
C、利用基于抽样的方法,随机抽取数量与变化坏味实体数量相当的无坏味实体;
D、计算变化坏味实体和无坏味实体在基线版本源代码中的度量特征;
E、变化坏味实体和无坏味实体的标识符、度量特征、标注组成变化坏味训练数据集;
F、利用遗传算法对变化坏味训练数据集内的实体的度量特征进行降维,降维后的变化坏味实体和无坏味实体组成代码坏味训练数据集。
2.根据权利要求1所述的结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:步骤A所选的基线版本和对照版本之间需要经历至少一个主版本号变更或多个次版本号变更。
3.根据权利要求1所述的结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:所述步骤C采用不充分抽样对无坏味实体进行随机抽取,抽取的无坏味实体数量与变化坏味实体数量的比例在1:1到2:1之间。
4.根据权利要求1所述的结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:所述步骤D计算的度量特征包括软件规模度量、内聚度度量、耦合度度量和继承度量。
5.根据权利要求1~4任一项所述的结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:所述步骤F进行降维的具体过程如下:
S1.使用二进制序列对变化坏味训练数据集内的变化坏味实体或无坏味实体的度量特征进行表示,其中,0代表不选择度量特征中的某一度量,1代表选择度量特征中的某一度量;
S2.为变化坏味训练数据集内的变化坏味实体和无坏味实体的度量特征初始化一个二进制序列种群;
S3.将二进制序列种群内的二进制序列个体作为输入,利用有监督的机器学习分类算法,建立代码坏味预测模型,使用十折交叉法计算预测模型的准确率作为个体的适应度值;
S4.判断二进制序列个体的平均准确率是否已经处于稳定的阶段,若是,则输出适应度值最高的二进制序列个体作为最优的二进制序列对实体的度量特征进行降维;若否则采用轮盘赌选择亲代,通过均匀交叉及位翻转变异产生新的二进制序列个体,然后重复步骤S3;
其中均匀交叉指的是后代二进制序列个体的每个位都有50%的机会来自第一个亲代或其第二个亲代,位翻转变异指的是二进制序列个体的每一位在变异时是以一定变异率由0翻转到1,或从1翻转到0。
6.根据权利要求5所述的结合代码演化信息构造代码坏味训练数据集的方法,其特征在于:所述步骤B使用到的代码坏味自动检测工具为iPlasma、inFusion、JDeodorant、CheckStyle、PMD的一种。
CN201711365477.XA 2017-12-18 2017-12-18 结合代码演化信息构造代码坏味训练数据集的方法 Active CN108108168B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711365477.XA CN108108168B (zh) 2017-12-18 2017-12-18 结合代码演化信息构造代码坏味训练数据集的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711365477.XA CN108108168B (zh) 2017-12-18 2017-12-18 结合代码演化信息构造代码坏味训练数据集的方法

Publications (2)

Publication Number Publication Date
CN108108168A true CN108108168A (zh) 2018-06-01
CN108108168B CN108108168B (zh) 2021-02-02

Family

ID=62210877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711365477.XA Active CN108108168B (zh) 2017-12-18 2017-12-18 结合代码演化信息构造代码坏味训练数据集的方法

Country Status (1)

Country Link
CN (1) CN108108168B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502277A (zh) * 2019-08-30 2019-11-26 西安邮电大学 一种基于bp神经网络的代码坏味检测方法
CN111290777A (zh) * 2020-01-23 2020-06-16 复旦大学 一种面向软件代码单元和代码度量的演化历史切片方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282527B1 (en) * 1997-06-27 2001-08-28 Microsoft Corporation Adaptive problem solving method and apparatus utilizing evolutionary computation techniques
CN106096635A (zh) * 2016-06-06 2016-11-09 重庆大学 基于阈值操作的代价敏感神经网络的警告分类方法
CN106201871A (zh) * 2016-06-30 2016-12-07 重庆大学 基于代价敏感半监督的软件缺陷预测方法
CN106528428A (zh) * 2016-11-24 2017-03-22 中山大学 一种软件易变性预测模型的构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282527B1 (en) * 1997-06-27 2001-08-28 Microsoft Corporation Adaptive problem solving method and apparatus utilizing evolutionary computation techniques
CN106096635A (zh) * 2016-06-06 2016-11-09 重庆大学 基于阈值操作的代价敏感神经网络的警告分类方法
CN106201871A (zh) * 2016-06-30 2016-12-07 重庆大学 基于代价敏感半监督的软件缺陷预测方法
CN106528428A (zh) * 2016-11-24 2017-03-22 中山大学 一种软件易变性预测模型的构建方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
F. ARCELLI FONTANA: ""Comparing and experimenting machine learning"", 《EMPIR SOFTWARE ENG》 *
傅诗哲: ""基于软件演化数据挖掘的代码坏味道检测"", 《万方》 *
刘秋荣: ""面向代码坏味检测的阈值动态优化方法"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502277A (zh) * 2019-08-30 2019-11-26 西安邮电大学 一种基于bp神经网络的代码坏味检测方法
CN111290777A (zh) * 2020-01-23 2020-06-16 复旦大学 一种面向软件代码单元和代码度量的演化历史切片方法

Also Published As

Publication number Publication date
CN108108168B (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
Gabaldón Large-scale assignment of orthology: back to phylogenetics?
Singhal et al. A study on WEKA tool for data preprocessing, classification and clustering
US8200693B2 (en) Decision logic comparison and review
CN107967208A (zh) 一种基于深度神经网络的Python资源敏感缺陷代码检测方法
Gong et al. Neo4j graph database realizes efficient storage performance of oilfield ontology
Xue et al. Optimizing ontology alignment through memetic algorithm based on partial reference alignment
Davila Delgado et al. Big data analytics system for costing power transmission projects
CN108647800A (zh) 一种基于节点嵌入的在线社交网络用户缺失属性预测方法
CN106446000A (zh) 基于边界交互的区组合拓扑相似性度量方法
Usman et al. Discovering diverse association rules from multidimensional schema
Rashid et al. Software quality estimation using machine learning: Case-Based reasoning technique
CN108108168A (zh) 结合代码演化信息构造代码坏味训练数据集的方法
CN106530108A (zh) 一种基于因素表示的油气层损害智能识别方法与系统
CN109326328A (zh) 一种基于谱系聚类的古生物谱系演化分析方法
Gajowniczek et al. ImbTreeAUC: An R package for building classification trees using the area under the ROC curve (AUC) on imbalanced datasets
CN104899283A (zh) 一种针对单个不确定图的频繁子图挖掘与优化方法
Azmin et al. Soil classification based on machine learning for crop suggestion
Rajbahadur et al. Pitfalls analyzer: quality control for model-driven data science pipelines
Ravalico et al. Sensitivity analysis for decision-making using the MORE method—A Pareto approach
Baggio et al. Knowledge management and transfer in Tourism: An Italian case
Kompare Estimating environmental pollution by xenobiotic chemicals using QSAR (QSBR) models based on artificial intelligence
Karegowda et al. Combining Akaike’s information criterion (AIC) and the golden-section search technique to find optimal numbers of k-nearest neighbors
Sarkar et al. Accuracy-based learning classification system
Alimoradi et al. Statistic Deviation Mode Balancer (SDMB): A novel sampling algorithm for imbalanced data
CN104899885B (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
GR01 Patent grant
GR01 Patent grant