Weka算法算法翻译(部分)
目录
Weka算法翻译(部分)
只翻译了感兴趣的一些算法,都是一些简单的算法。
1. 属性选择算法(select attributes)
1.1 属性评估方法
CfsSubsetEval:通过考虑每个特征的单独预测能力以及它们之间的冗余成都来评估属性子集的价值
ClassifierAttributeEval:使用用户指定的分类器评估属性的值
ClassifierSubsetEval:对训练数据或单独的测试集评估属性子集
CorrelationAttributeEval:通过度量属性与类之间的相关性来评估属性的价值
GainRatioAttributeEval:通过测量相对于类的增益比来评估属性的价值
InfoGainAttributeEval:通过度量与类相关的信息增益来评估属性的价值
OneRAttributeEval:使用OneR分类器来评估属性的价值
PrincipalComponents:对数据进行主成分分析和转换
与Ranker搜索结合使用降维是通过选择足够的特征向量来解释原始数据中某些百分比的方差来实现的 - 默认0 95(95%)属性噪声可以通过转换到PC空间来过滤,从而消除了一些 最差的特征向量,然后转换回原始空间。
ReliefFAttributeEval:通过重复采样实例并考虑相同和不同类的最近实例的给定属性的值来评估属性的价值。
可以对离散和连续类数据进行操作。SymmetricalUncertAttributeEval:通过测量关于类的对称不确定性来评估属性的价值。
WrapperSubseEval:使用学习方案评估属性集。
交叉验证用于估计一组属性的学习方案的准确性。
1.2 搜索方法
- BestFirst:搜索方法执行带回溯的贪婪爬山法。它可以从空属性集开始向前搜索,也可以从全集开始向后搜索,还可以从中间点(通过属性索引列表指定)开始双向搜索并考虑所有可能的单个属性的增删操作。
- GreedyStepwise:搜索方法贪婪搜索属性的子集空间。像BestFirst 搜索方法一样,它可以向前和向后搜索。但是,它不进行回溯。只要添加或删除剩余的最佳属性导致评估指标降低,就立即终止。
- Ranker:实际上不是搜索属性子集的方法,而是对单个属性进行排名的方法,与属性评估程序一起使用。
2. 分类算法
2.1 贝叶斯算法
- BayesNet:贝叶斯网络学习采用多种搜索算法和质量度量方法。贝叶斯网络分类器的基类,提供贝叶斯网络学习常用的数据结构(网络结构、条件分布等)和常用的算法工具如K2、B
- NaiveBayes:使用估计类的朴素贝叶斯分类器的类
基于训练数据的分析来选择数值估计器精度值。 因此,分类器不是UpdateableClassifier(在典型用法中使用零训练实例初始化) - 如果需要UpdateableClassifier功能,请使用NaiveBayesUpdateable分类器。 当使用零训练实例调用buildClassifier时,NaiveBayesUpdateable分类器将对数字属性使用默认精度0.1。 - NaiveBayesMultinomial:用于构建和使用多项朴素贝叶斯分类器的类。
- NaiveBayesMultinomialText:用于文本数据的多项式朴素贝叶斯。 直接(且仅)对String属性进行操作。 其他类型的输入属性被接受但在训练和分类期间被忽略
- NaiveBayesMultinomialUpdateable:用于构建和使用可更新的多项式朴素贝叶斯分类器的类。
- NaiveBayesUpdateable:使用估计类的朴素贝叶斯分类器的类。 这是NaiveBayes的可更新版本。当使用零训练实例调用buildClassifier时,此分类器将对数字属性使用默认精度0.1。
2.2 Functions
Logistic:用于构建和使用具有岭估计器的多项Logistic回归模型的类。虽然原始Logistic回归不处理实例权重,但我们稍微修改算法来处理实例权重。
MultilayerPerceptron:使用反向传播来学习多层感知器以对实例进行分类的分类器。网络可以手工构建或使用简单的启发式设置。 还可以在训练期间监视和修改网络参数。 此网络中的节点都是sigmoid(除了类是数字时,在这种情况下输出节点变为无阈值线性单位)。
SGD:实现随机梯度下降以学习各种线性模型(二元类SVM,二元类逻辑回归,平方损失,Huber损失和epsilon不敏感损失线性回归)。 全局替换所有缺失值并将名义属性转换为二进制值。 它还标准化所有属性,因此输出中的系数基于标准化数据。
对于数字类属性,必须使用平方,Huber或epsilon-insensitve损失函数。 Epsilon不敏感和Huber丢失可能需要更高的学习率。SGDText:实现随机梯度下降,用于学习文本数据的线性二元类SVM或二元类逻辑回归。 直接(且仅)对String属性进行操作。 其他类型的输入属性被接受但在训练和分类期间被忽略。
SimpleLogistic:用于构建线性逻辑回归模型的分类器。 使用简单回归函数作为基础学习者的LogitBoost用于拟合逻辑模型。 要执行的最佳LogitBoost迭代次数是交叉验证的,这会导致自动选择属性。
SMO:实现John Platt用于训练支持向量分类器的顺序最小优化算法。
此实现全局替换所有缺失值并将名义属性转换为二进制值。 它还默认将所有属性规范化。 (在这种情况下,输出中的系数基于标准化数据,而不是原始数据---这对于解释分类器很重要。)
使用成对分类(aka 1-vs-1)解决多类问题。
要获得适当的概率估计,请使用适合校准模型的选项到支持向量机的输出。 在多类情况下,使用Hastie和Tibshirani的成对耦合方法耦合预测概率。
注意:为了提高速度,在SparseInstances上操作时应关闭规范化。VotedPerceptron:由Freund和Schapire实施的投票感知器算法。 全局替换所有缺失值,并将名义属性转换为二进制值。
2.3 Lazy
- IBK:K-最近邻分类器。 可以根据交叉验证选择合适的K值。 也可以做距离加权。
- KStar:K *是基于实例的分类器,即测试实例的类基于与其类似的那些训练实例的类,由一些相似性函数确定。 它与其他基于实例的学习者的不同之处在于它使用基于熵的距离函数。
- LWL:本地加权学习。 使用基于实例的算法来分配实例权重,然后由指定的WeightedInstancesHandler使用。
可以进行分类(例如使用朴素贝叶斯)或回归(例如使用线性回归)。
2.4 Meta
元学习(meta learning)的另一个更简单直观的说法叫让机器 “学会学习(learning to learn)”,目标是让机器可以从过往的任务中学习出某些知识、模式、或者算法的性质,可以灵活快速的指导新任务的学习,类似像人一样学会根据历史经验“举一反三”。
- AdaBoostM1:使用Adaboost M1方法提升名义类分类器的类。 只能解决名义上的阶级问题。 通常会显着提高性能,但有时会过度使用。
- AttributeSelectedClassifier:在传递给分类器之前,通过属性选择减少训练和测试数据的维度。
- Bagging:用于Bagging分类器以减少差异的类。 可以根据基础学习者进行分类和回归。
- ClassificationViaRegression:使用回归方法进行分类的类。 对类进行二值化,并为每个类值构建一个回归模型。
- CostSensitiveClassifier:一种元分类器,使其基本分类器对成本敏感。 可以使用两种方法来引入成本敏感性:根据分配给每个班级的总成本重新加权培训实例; 或预测具有最小预期错误分类成本的类(而不是最可能的类)。 通过使用Bagged分类器来改进基本分类器的概率估计,通常可以提高性能。
- CVParameterSelection:用于通过任何分类器的交叉验证执行参数选择的类。
- FilteredClassifier:用于在已通过任意过滤器的数据上运行任意分类器的类。 与分类器一样,过滤器的结构完全基于训练数据,过滤器将处理测试实例而不改变其结构。
如果存在不相等的实例权重或属性权重,并且过滤器或分类器无法处理它们,则在将实例和/或属性传递给过滤器或分类器之前,基于权重对实例和/或属性进行重新采样(视情况而定))。 - IterativeClassifierOptimizer:使用交叉验证或百分比分割评估来优化给定迭代分类器的迭代次数。
- LogitBoost:用于执行加性逻辑回归的类。
该类使用回归方案作为基础学习者进行分类,并且可以处理多类问题。 - MultiClassClassifier:用于处理具有2级分类器的多类数据集的元分类器。 该分类器还能够应用纠错输出代码以提高准确度。
- MultiClassClassifierUpdateable:用于处理具有2级分类器的多类数据集的元分类器。 该分类器还能够应用纠错输出代码以提高准确度。 基类分类器必须是可更新的分类器
- MultiScheme:用于从训练数据中使用交叉验证或训练数据上的表现来从几个中选择分类器的类。 基于正确百分比(分类)或均方误差(回归)来衡量绩效。
- RandomCommittee:用于构建可随机化基本分类器集合的类。 每个基本分类器使用不同的随机数种子构建(但基于一个相同的数据)。 最终预测是各个基本分类器生成的预测的直线平均值。
- RandomizableFilteredClassifier:FilteredClassifier的一个简单变体,它使用可随机化的过滤器(更具体地说,RandomProjection)和IBk作为基本分类器来实例化模型。 除此之外,并检查两个基本方案中的至少一个实现Randomizable接口,它实现了与FilteredClassifier完全相同的功能,它现在也实现了Randomizable。
- RandomSubSpace:该方法构造基于决策树的分类器,其在训练数据上保持最高准确度,并且随着其复杂性的增加而提高泛化精度。 分类器由通过伪随机选择特征向量的分量的子集而系统地构造的多个树组成,即,在随机选择的子空间中构造的树。
- Stacking:使用堆叠方法组合多个分类器。 可以做分类或回归。
- Vote:用于组合分类器的类。 可以使用不同的分类概率估计组合。
- WeightedInstancesHandlerWrapper:围绕任何分类器的通用包装器,以支持加权实例。
如果基类分类器未实现weka.core.WeightedInstancesHandler接口并且存在1.0以外的实例权重,则使用重量采样权重。 默认情况下,如果训练数据可以处理实例权重,则会将其传递给基本分类器。 但是,也可以强制使用重量采样。
Weka算法算法翻译(部分)的更多相关文章
- weka中算法说明[转]
1) 数据输入和输出WOW():查看Weka函数的参数.Weka_control():设置Weka函数的参数.read.arff():读Weka Attribute-Relation File For ...
- Andrew Ng机器学习笔记+Weka相关算法实现(五)SVM最优间隔和核方法
这一章主要解说Ng的机器学习中SVM的兴许内容.主要包括最优间隔分类器求解.核方法. 最优间隔分类器的求解 利用以一篇讲过的的原始对偶问题求解的思路,我们能够将相似思路运用到SVM的求解上来. 详细的 ...
- 压缩感知——SP(subspace pursuit)重构算法前言翻译
压缩感知是一种採样方法,它和变换编码类似,后者被广泛用于涉及到大规模数据採样的现代通信系统中.变换编码将高维空间中的输入信号.转换成很低的低维空间中的信号.变换编码器的样例有著名的小波变换和普遍存在的 ...
- sift算法中翻译的第11页中比值问题
没下载下来... http://download.csdn.net/detail/shwaicy1314/7320695 原文翻译.应该是 2004年lowe写的吧 第八页 图C展示的 是小于0.03 ...
- Andrew Ng机器学习笔记+Weka相关算法实现(四)SVM和原始对偶问题
这篇博客主要解说了Ng的课第六.七个视频,涉及到的内容包含,函数间隔和几何间隔.最优间隔分类器 ( Optimal Margin Classifier).原始/对偶问题 ( Primal/Dual P ...
- 01python算法--算法和数据结构是什么鬼?
我不想直接拷贝google 上面所有对算法的解释.所以我想怎么说就怎么说了,QAQ 1:什么是程序? 解决问题的范式 2:什么是问题? 程序输入与输出之间的联系 3:什么是算法: 算法就是解决问题的思 ...
- 一致性哈希算法——算法解决的核心问题是当slot数发生变化时,能够尽量少的移动数据
一致性哈希算法 摘自:http://blog.codinglabs.org/articles/consistent-hashing.html 算法简述 一致性哈希算法(Consistent Hashi ...
- 0-1背包的动态规划算法,部分背包的贪心算法和DP算法------算法导论
一.问题描述 0-1背包问题,部分背包问题.分别实现0-1背包的DP算法,部分背包的贪心算法和DP算法. 二.算法原理 (1)0-1背包的DP算法 0-1背包问题:有n件物品和一个容量为W的背包.第i ...
- 算法——算法时间复杂度的计算和大O阶的推导
在算法分析中,我们将语句总的执行次数记为T(n)进而分析T(n)随n的变化情况确认T(n)的数量级.一般情况下,T(n)随n增大变化最缓慢的算法为最优算法. 根据定义,T(n)的求法是很简单的,也就是 ...
随机推荐
- 很多win10系统用户都遇见了开机发现任务管理器中有个系统中断进程占用cpu99%的问题,
很多win10系统用户都遇见了开机发现任务管理器中有个系统中断进程占用cpu99%的问题,尝试了网上提供的方法都不能得到有效的解决.下面小编就为大家详细的介绍电脑工程师提供的正确的解决姿势. 出现系统 ...
- buuctf 基础破解
首先下载压缩包 解压之后发现是另一个压缩包 另一个压缩包上写着基础破解 然后用暴力破解的方法破解 然后搜了一下 暴力破解一般的长度是多少 然后搜到的结果是 长度为8的时候电脑都要破解好几年 所以我猜测 ...
- stl队列
队列(Queue)也是一种运算受限的线性表,它的运算限制与栈不同,是两头都有限制,插入只能在表的一端进行(只进不出),而删除只能在表的另一端进行(只出不进),允许删除的一端称为队尾(rear),允许插 ...
- 关于mybatis中sql映射文件模糊查询的使用
1.从前台传递一个String类型的参数到后台进行查询,如果牵涉到模糊查询会报错,应该把参数封装到对象中再进行传递然后进行模糊查询 2.一个查询框,多个查询条件 <if test="c ...
- mybatis--使用接口注解的方式实现Helloword
首先,创建一个数据库my,并在数据库中插入一张表user,然后在user表中插入一行数据,代码如下: create database my; use my; create table user( id ...
- ALSA driver --PCM 实例创建过程
前面已经写过PCM 实例的创建框架,我们现在来看看PCM 实例是如何创建的. 在调用snd_pcm_new时就会创建一个snd_pcm类型的PCM 实例. struct snd_pcm { struc ...
- 统计字符在字符串中第n次出现的位置
输入一个字符串s,一个数字n和一个字符c,统计这个字符c在字符串s中第n次出现的位置 输入格式: 输入3行.第1行是字符串s,第2行是数字n,第3行是被查找的字符c. 输出格式: 第n个字符在字符串中 ...
- CentOS6.5_x64安装MySQL-5.6.17,在已经启动MySQL服务的情况下,出现密码报错ERROR 2002 (HY000)
1.修改MySQL配置文件,使MySQL登陆时跳过密码验证 skip-grant-tables 2.重启MySQL服务 service mysql restart 3.进入MySQL,修改user表中 ...
- Appium-测试失败后获取屏幕截图的方法
最近一直在研究appium,偶尔的机会发现断言后获取屏幕截图.觉得这个方法不错,分享给大家 这样以后在遇到断言,想截图错误屏幕的时候,能够用的上. 1.首先需要2个类,一个是测试类(TestDropL ...
- Kubernetes中网络相关知识
流量转发和桥接 Kubernetes的核心是依靠Netfilter内核模块来设置低级别的集群IP负载均衡.需要两个关键的模块:IP转发和桥接 IP转发(IP Forward) IP forward 是 ...