Weka算法算法翻译(部分)

目录

  • Weka算法翻译(部分)

    • 1. 属性选择算法(select attributes)

      • 1.1 属性评估方法
      • 1.2 搜索方法
    • 2. 分类算法
      • 2.1 贝叶斯算法
      • 2.2 Functions
      • 2.3 Lazy
      • 2.4 Meta

Weka算法翻译(部分)

只翻译了感兴趣的一些算法,都是一些简单的算法。

1. 属性选择算法(select attributes)

1.1 属性评估方法

  1. CfsSubsetEval:通过考虑每个特征的单独预测能力以及它们之间的冗余成都来评估属性子集的价值
  2. ClassifierAttributeEval:使用用户指定的分类器评估属性的值
  3. ClassifierSubsetEval:对训练数据或单独的测试集评估属性子集
  4. CorrelationAttributeEval:通过度量属性与类之间的相关性来评估属性的价值
  5. GainRatioAttributeEval:通过测量相对于类的增益比来评估属性的价值
  6. InfoGainAttributeEval:通过度量与类相关的信息增益来评估属性的价值
  7. OneRAttributeEval:使用OneR分类器来评估属性的价值
  8. PrincipalComponents:对数据进行主成分分析和转换

    与Ranker搜索结合使用降维是通过选择足够的特征向量来解释原始数据中某些百分比的方差来实现的 - 默认0 95(95%)属性噪声可以通过转换到PC空间来过滤,从而消除了一些 最差的特征向量,然后转换回原始空间。

  9. ReliefFAttributeEval:通过重复采样实例并考虑相同和不同类的最近实例的给定属性的值来评估属性的价值。
    可以对离散和连续类数据进行操作。
  10. SymmetricalUncertAttributeEval:通过测量关于类的对称不确定性来评估属性的价值。
  11. WrapperSubseEval:使用学习方案评估属性集。
    交叉验证用于估计一组属性的学习方案的准确性。

1.2 搜索方法

  1. BestFirst:搜索方法执行带回溯的贪婪爬山法。它可以从空属性集开始向前搜索,也可以从全集开始向后搜索,还可以从中间点(通过属性索引列表指定)开始双向搜索并考虑所有可能的单个属性的增删操作。
  2. GreedyStepwise:搜索方法贪婪搜索属性的子集空间。像BestFirst 搜索方法一样,它可以向前和向后搜索。但是,它不进行回溯。只要添加或删除剩余的最佳属性导致评估指标降低,就立即终止。
  3. Ranker:实际上不是搜索属性子集的方法,而是对单个属性进行排名的方法,与属性评估程序一起使用。

2. 分类算法

2.1 贝叶斯算法

  1. BayesNet:贝叶斯网络学习采用多种搜索算法和质量度量方法。贝叶斯网络分类器的基类,提供贝叶斯网络学习常用的数据结构(网络结构、条件分布等)和常用的算法工具如K2、B
  2. NaiveBayes:使用估计类的朴素贝叶斯分类器的类
    基于训练数据的分析来选择数值估计器精度值。 因此,分类器不是UpdateableClassifier(在典型用法中使用零训练实例初始化) - 如果需要UpdateableClassifier功能,请使用NaiveBayesUpdateable分类器。 当使用零训练实例调用buildClassifier时,NaiveBayesUpdateable分类器将对数字属性使用默认精度0.1。
  3. NaiveBayesMultinomial:用于构建和使用多项朴素贝叶斯分类器的类。
  4. NaiveBayesMultinomialText:用于文本数据的多项式朴素贝叶斯。 直接(且仅)对String属性进行操作。 其他类型的输入属性被接受但在训练和分类期间被忽略
  5. NaiveBayesMultinomialUpdateable:用于构建和使用可更新的多项式朴素贝叶斯分类器的类。
  6. NaiveBayesUpdateable:使用估计类的朴素贝叶斯分类器的类。 这是NaiveBayes的可更新版本。当使用零训练实例调用buildClassifier时,此分类器将对数字属性使用默认精度0.1。

2.2 Functions

  1. Logistic:用于构建和使用具有岭估计器的多项Logistic回归模型的类。虽然原始Logistic回归不处理实例权重,但我们稍微修改算法来处理实例权重。
  2. MultilayerPerceptron:使用反向传播来学习多层感知器以对实例进行分类的分类器。网络可以手工构建或使用简单的启发式设置。 还可以在训练期间监视和修改网络参数。 此网络中的节点都是sigmoid(除了类是数字时,在这种情况下输出节点变为无阈值线性单位)。
  3. SGD:实现随机梯度下降以学习各种线性模型(二元类SVM,二元类逻辑回归,平方损失,Huber损失和epsilon不敏感损失线性回归)。 全局替换所有缺失值并将名义属性转换为二进制值。 它还标准化所有属性,因此输出中的系数基于标准化数据。
    对于数字类属性,必须使用平方,Huber或epsilon-insensitve损失函数。 Epsilon不敏感和Huber丢失可能需要更高的学习率。
  4. SGDText:实现随机梯度下降,用于学习文本数据的线性二元类SVM或二元类逻辑回归。 直接(且仅)对String属性进行操作。 其他类型的输入属性被接受但在训练和分类期间被忽略。
  5. SimpleLogistic:用于构建线性逻辑回归模型的分类器。 使用简单回归函数作为基础学习者的LogitBoost用于拟合逻辑模型。 要执行的最佳LogitBoost迭代次数是交叉验证的,这会导致自动选择属性。
  6. SMO:实现John Platt用于训练支持向量分类器的顺序最小优化算法。

    此实现全局替换所有缺失值并将名义属性转换为二进制值。 它还默认将所有属性规范化。 (在这种情况下,输出中的系数基于标准化数据,而不是原始数据---这对于解释分类器很重要。)
    使用成对分类(aka 1-vs-1)解决多类问题。
    要获得适当的概率估计,请使用适合校准模型的选项到支持向量机的输出。 在多类情况下,使用Hastie和Tibshirani的成对耦合方法耦合预测概率。
    注意:为了提高速度,在SparseInstances上操作时应关闭规范化。

  7. VotedPerceptron:由Freund和Schapire实施的投票感知器算法。 全局替换所有缺失值,并将名义属性转换为二进制值。

2.3 Lazy

  1. IBK:K-最近邻分类器。 可以根据交叉验证选择合适的K值。 也可以做距离加权。
  2. KStar:K *是基于实例的分类器,即测试实例的类基于与其类似的那些训练实例的类,由一些相似性函数确定。 它与其他基于实例的学习者的不同之处在于它使用基于熵的距离函数。
  3. LWL:本地加权学习。 使用基于实例的算法来分配实例权重,然后由指定的WeightedInstancesHandler使用。
    可以进行分类(例如使用朴素贝叶斯)或回归(例如使用线性回归)。

2.4 Meta

元学习(meta learning)的另一个更简单直观的说法叫让机器 “学会学习(learning to learn)”,目标是让机器可以从过往的任务中学习出某些知识、模式、或者算法的性质,可以灵活快速的指导新任务的学习,类似像人一样学会根据历史经验“举一反三”。

  1. AdaBoostM1:使用Adaboost M1方法提升名义类分类器的类。 只能解决名义上的阶级问题。 通常会显着提高性能,但有时会过度使用。
  2. AttributeSelectedClassifier:在传递给分类器之前,通过属性选择减少训练和测试数据的维度。
  3. Bagging:用于Bagging分类器以减少差异的类。 可以根据基础学习者进行分类和回归。
  4. ClassificationViaRegression:使用回归方法进行分类的类。 对类进行二值化,并为每个类值构建一个回归模型。
  5. CostSensitiveClassifier:一种元分类器,使其基本分类器对成本敏感。 可以使用两种方法来引入成本敏感性:根据分配给每个班级的总成本重新加权培训实例; 或预测具有最小预期错误分类成本的类(而不是最可能的类)。 通过使用Bagged分类器来改进基本分类器的概率估计,通常可以提高性能。
  6. CVParameterSelection:用于通过任何分类器的交叉验证执行参数选择的类。
  7. FilteredClassifier:用于在已通过任意过滤器的数据上运行任意分类器的类。 与分类器一样,过滤器的结构完全基于训练数据,过滤器将处理测试实例而不改变其结构。
    如果存在不相等的实例权重或属性权重,并且过滤器或分类器无法处理它们,则在将实例和/或属性传递给过滤器或分类器之前,基于权重对实例和/或属性进行重新采样(视情况而定))。
  8. IterativeClassifierOptimizer:使用交叉验证或百分比分割评估来优化给定迭代分类器的迭代次数。
  9. LogitBoost:用于执行加性逻辑回归的类。
    该类使用回归方案作为基础学习者进行分类,并且可以处理多类问题。
  10. MultiClassClassifier:用于处理具有2级分类器的多类数据集的元分类器。 该分类器还能够应用纠错输出代码以提高准确度。
  11. MultiClassClassifierUpdateable:用于处理具有2级分类器的多类数据集的元分类器。 该分类器还能够应用纠错输出代码以提高准确度。 基类分类器必须是可更新的分类器
  12. MultiScheme:用于从训练数据中使用交叉验证或训练数据上的表现来从几个中选择分类器的类。 基于正确百分比(分类)或均方误差(回归)来衡量绩效。
  13. RandomCommittee:用于构建可随机化基本分类器集合的类。 每个基本分类器使用不同的随机数种子构建(但基于一个相同的数据)。 最终预测是各个基本分类器生成的预测的直线平均值。
  14. RandomizableFilteredClassifier:FilteredClassifier的一个简单变体,它使用可随机化的过滤器(更具体地说,RandomProjection)和IBk作为基本分类器来实例化模型。 除此之外,并检查两个基本方案中的至少一个实现Randomizable接口,它实现了与FilteredClassifier完全相同的功能,它现在也实现了Randomizable。
  15. RandomSubSpace:该方法构造基于决策树的分类器,其在训练数据上保持最高准确度,并且随着其复杂性的增加而提高泛化精度。 分类器由通过伪随机选择特征向量的分量的子集而系统地构造的多个树组成,即,在随机选择的子空间中构造的树。
  16. Stacking:使用堆叠方法组合多个分类器。 可以做分类或回归。
  17. Vote:用于组合分类器的类。 可以使用不同的分类概率估计组合。
  18. WeightedInstancesHandlerWrapper:围绕任何分类器的通用包装器,以支持加权实例。
    如果基类分类器未实现weka.core.WeightedInstancesHandler接口并且存在1.0以外的实例权重,则使用重量采样权重。 默认情况下,如果训练数据可以处理实例权重,则会将其传递给基本分类器。 但是,也可以强制使用重量采样。

原文地址:https://www.cnblogs.com/ph1sh/p/12245188.html

时间: 2024-10-09 12:01:23

Weka算法算法翻译(部分)的相关文章

java文本相似度计算(Levenshtein Distance算法(中文翻译:编辑距离算法))----代码和详解

算法代码实现: package com.util; public class SimFeatureUtil { private static int min(int one, int two, int three) { int min = one; if (two < min) { min = two; } if (three < min) { min = three; } return min; } public static int ld(String str1, String str2)

[数据结构和算法]算法基本概念

算法基本概念: 算法:用来对数据的操作作描述,是对问题求解的步骤的描述.是一系列将输入转为输出的计算步骤 算法复杂度:分为时间复杂度和空间复杂度时间复杂度:算法中所有语句的频度之和用T(n)表示,记为T(n) = O(n) 常见时间复杂度递增次序:常数 O(1) , 对数阶O(log2^n) , 线性阶O(n) , 线形对数阶O(nlog2^n),平方阶O(n^2),立方阶O(n^3),指数阶O(2^n),O(n!),O(n^n)当n值增大,算法时间复杂度即变大,执行效率变低 最坏时间复杂度:最

剪枝算法(算法优化)

一:剪枝策略的寻找的方法 1)微观方法:从问题本身出发,发现剪枝条件 2)宏观方法:从整体出发,发现剪枝条件. 3)注意提高效率,这是关键,最重要的. 总之,剪枝策略,属于算法优化范畴:通常应用在DFS 和 BFS 搜索算法中:剪枝策略就是寻找过滤条件,提前减少不必要的搜索路径. 二:剪枝算法(算法优化) 1.简介 在搜索算法中优化中,剪枝,就是通过某种判断,避免一些不必要的遍历过程,形象的说,就是剪去了搜索树中的某些"枝条",故称剪枝.应用剪枝优化的核心问题是设计剪枝判断方法,即确定

c++ 提高4 map容器 共性机制 使用时机 比较| STL算法 算法基础仿函数 谓词 函数适配器 遍历算法

[本文谢绝转载] <大纲> STL 容器 map 容器的4中初始化 遍历 map容器 元素的删除观测map.insert返回值,方法123,已存在就报错,初始化方法4会覆盖 map的查找,异常处理 map容器的range返回两个迭代器 multimap案例,按照部门_增删员工信息 容器共性机制 把对象放到容器中,会自动执行拷贝构造函数 各个容器的使用时机 vector与deque的比较: 算法 算法基础 函数对象(仿函数) 函数对象 与普通函数的区别:--  相同之处 函数对象 与普通函数的区

C数据结构与算法-算法复杂度

算法复杂度分为时间复杂度T(n)和空间复杂度F(n) 时间复杂度:也就是执行算法程序所需的时间,与硬件的速度.编程语言的级别.编译器的优化.数据的规模.执行的频度有关,前三个有很大的不确定性,所以衡量指标只要是后两者即算法的时间复杂度是数据规模n的函数.T(n)=O(F(n)),其中O表示同阶,即当n趋近无穷大是T(n)与F(n)的比值是个不为0的常数,也就是渐进时间复杂度.按照时间复杂度量级递增顺序为:常数阶O(1).对数阶O(log2n).线性阶O(n).线性对数阶O(nlog2n).平方阶

腾讯t4架构推荐:一份程序员必备的结构算法算法之道!

引言 "语言只是工具,算法才是程序的灵魂."这句话相信每一个程序员都听过无数次.然而在实际的工作中,一个产品从开发到上线,似乎哪一步都用不到数据结构与算法.于是很多程序员都有这样一种错觉:就算我不懂算法,只要语言写得溜.开发框架用得熟练.封装好的各种接口.库调用得熟练,照样能实现老板“天马行空”(傻逼)的需求,照样可以混到高薪.算法的学习,别人帮不了你多少,主要还是的靠自己悟,靠自己花时间去理解,师傅领进门,修行在个人,算法讨论,思路分享,去牛客网看看,各路大神,各种解决思路,你一定会

weka中算法说明[转]

1) 数据输入和输出WOW():查看Weka函数的参数.Weka_control():设置Weka函数的参数.read.arff():读Weka Attribute-Relation File Format (ARFF)格式的数据.write.arff:将数据写入Weka Attribute-Relation File Format (ARFF)格式的文件. 2) 数据预处理Normalize():无监督的标准化连续性数据.Discretize():用MDL(Minimum Descriptio

压缩感知——SP(subspace pursuit)重构算法前言翻译

压缩感知是一种采样方法,它和变换编码类似,后者被广泛用于涉及到大规模数据采样的现代通信系统中.变换编码将高维空间中的输入信号,转换成非常低的低维空间中的信号.变换编码器的例子有著名的小波变换和普遍存在的傅立叶变换. 压缩感知技术将变换编码成功的用于可压缩信号或者是稀疏信号.将一个K稀疏N维离散时间信号x进行编码,是通过计算一个m维的测量向量y来完成的,y是x的线性投影.这可以通过下式进行简洁表示:y=Phi*x.在这里,Phi代表一个m*N的矩阵,通常是在实数领域中.在这个框架中,投影基被假设成

Andrew Ng机器学习笔记+Weka相关算法实现(四)SVM和原始对偶问题

这篇博客主要解说了Ng的课第六.七个视频,涉及到的内容包含,函数间隔和几何间隔.最优间隔分类器 ( Optimal Margin Classifier).原始/对偶问题 ( Primal/Dual Problem). SVM 的对偶问题几个部分. 函数间隔和几何间隔 函数间隔( functional margin) 与几何间隔( geometric margin)是理解SVM的基础和前提. 如果y∈{-1,1},而不再是0,1,我们能够将分类器函数表演示样例如以下: 这里的b參数事实上就是原来的