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)的求法是很简单的,也就是 ...
随机推荐
- 【应急响应】Linux安全加固
一.补丁管理 1.查看系统信息 uname -a 2.配置yun源 CentosOS 可以直接升级 RHEL系列可以配置使用CentosOS源 3.升级软件包 yum –y update 二.安全工具 ...
- leetcode 25. K 个一组翻转链表
# coding:utf-8 __author__ = "sn" """ 25. K 个一组翻转链表 给你一个链表,每 k 个节点一组进行翻转,请你返 ...
- [Reversal 剧情设计] 设定
在正式写之前,先交代一些设定,便于后续的展开.先在这里说明一点,我的文笔可能很烂(因为在写小说方面还没有得到过别人的评价),只要你们能体会我想表达的东西就行(不过也的确是这样,如果作者构筑得过于详细, ...
- [lua]紫猫lua教程-命令宝典-L1-01-03. 数值数据
lua5.3在线手册地址 https://cloudwu.github.io/lua53doc/contents.html#contents 其实我们直接啃手册就够了 推荐如果有基础的先啃手册再看紫 ...
- Codeforces Round #613 (Div. 2)D(贪心,分治)
构造两颗深度为30的字典树(根节点分别是0和1),结点只有0和1,从根节点向下DFS,贪心取答案. #define HAVE_STRUCT_TIMESPEC #include<bits/stdc ...
- 从TCL欲成JDI股东看,面板行业进入“群架”时代
当下,屏幕早已成为第一入口.PC.智能手机.平板电脑.电视.家庭智能终端.智慧交通.智能穿戴设备.汽车中控大屏--种种设备都是以屏幕为最重要的视觉呈现方式,让人们在一个个奇幻世界中畅游.也正是因为屏幕 ...
- Kali部署DVWA和OWASPBWA
自己的备忘录,这里记录Kali部署DVWA和OWASPBWA,其中遇到的问题会在下一篇文章记录 DVWA(Damn Vulnerable Web App)是一个基于PHP/MySql搭建的Web应用程 ...
- Azure IoT Hub 十分钟入门系列 (4)- 实现从设备上传日志文件/图片到 Azure Storage
本文主要分享一个案例: 10分钟内通过Device SDK上传文件到IoTHub B站视频:https://www.bilibili.com/video/av90224073/ 本文主要有如下内容: ...
- uniGUI之文件下载(29)
1]SendFile 2]SendStream 3]自定义类型文件下载 1]SendFile UniSession.SendFile('新建文本文档.txt' //服务器端 文件名 ,'anew.tx ...
- JS高级---利用原型共享数据
什么样子的数据是需要写在原型中? 需要共享的数据就可以写原型中 原型的作用之一: 数据共享 //属性需要共享, 方法也需要共享 //不需要共享的数据写在构造函数中,需要共享的数据写在原型中 //构造函 ...