❶ 用weka贝叶斯公式决策分类的步骤是什么求赐教。。。。 最好给出详细的步骤,谢谢!
你可以用程序debug跟踪一下,以前是weka中NaiveBayesSimple类的主要函数和作用。
(1) globalInfo()
返回该分类器的描述字符串.
(2) getTechnicalInformation()
返回一个TechnicalInformation类型的对象实例,包含该类的技术背景等信息.
(3) getCapabilities()
返回默认参数.
(4) BuildClassifier(Instances instances)
BuildClassifier()方法从一个训练数据集合instances构造一个分类器.求出所有名称型属性的后验概率,类属性的先验概率,数值属性的均值和方差,为后来的分类工作做准备.
(5) distributionForInstance (Instance instance)
该方法计算待分类实例instance属于各个类标的百分比,并且将各个百分比数值存于一个数组中,最后返回该数组.
(6)toString()
把分类器的参数(均值,方差,各先验概率,各后验概率)以字符串的形式返回.
(7)normalDens(double x, double mean, double stdDev)
该方法用于根据正态分布(均值为mean,方差为stdDev)计算数值型属性当属性值为x时的概率密度.
(8) getRevision()
返回程序的版本号.
(9) Main()
当类从命令行被执行时,就会调用main()方法.他只是用所给的命令行选项告诉Weka的Evaluation类来评估朴素贝叶斯,并且打印所得到的数组.完成这个功能的一行表达式包括在try-catch声明中.try-catch声明用于发现Weka例程或其他java方法中抛出的各种异常.
大数据研究常用软件工具与应用场景
如今,大数据日益成为研究行业的重要研究目标。面对其高数据量、多维度与异构化的特点,以及分析方法思路的扩展,传统统计工具已经难以应对。
工欲善其事,必先利其器。众多新的软件分析工具作为深入大数据洞察研究的重要助力, 也成为数据科学家所必须掌握的知识技能。
然而,现实情况的复杂性决定了并不存在解决一切问题的终极工具。实际研究过程中,需要根据实际情况灵活选择最合适的工具(甚至多种工具组合使用),才能更好的完成研究探索。
为此,本文针对研究人员(非技术人员)的实际情况,介绍当前大数据研究涉及的一些主要工具软件(因为相关软件众多,只介绍常用的),并进一步阐述其应用特点和适合的场景,以便于研究人员能有的放矢的学习和使用。
基础篇传统分析/商业统计
Excel、SPSS、SAS 这三者对于研究人员而言并不陌生。
Excel 作为电子表格软件,适合简单统计(分组/求和等)需求,由于其方便好用,功能也能满足很多场景需要,所以实际成为研究人员最常用的软件工具。其缺点在于功能单一,且可处理数据规模小(这一点让很多研究人员尤为头疼)。这两年Excel在大数据方面(如地理可视化和网络关系分析)上也作出了一些增强,但应用能力有限。
SPSS(SPSS Statistics)和SAS作为商业统计软件,提供研究常用的经典统计分析(如回归、方差、因子、多变量分析等)处理。
SPSS 轻量、易于使用,但功能相对较少,适合常规基本统计分析
SAS 功能丰富而强大(包括绘图能力),且支持编程扩展其分析能力,适合复杂与高要求的统计性分析。
上述三个软件在面对大数据环境出现了各种不适,具体不再赘述。但这并不代表其没有使用价值。如果使用传统研究方法论分析大数据时,海量原始数据资源经过前期处理(如降维和统计汇总等)得到的中间研究结果,就很适合使用它们进行进一步研究。
数据挖掘
数据挖掘作为大数据应用的重要领域,在传统统计分析基础上,更强调提供机器学习的方法,关注高维空间下复杂数据关联关系和推演能力。代表是SPSS Modeler(注意不是SPSS Statistics,其前身为Clementine)
SPSS Modeler 的统计功能相对有限, 主要是提供面向商业挖掘的机器学习算法(决策树、神经元网络、分类、聚类和预测等)的实现。同时,其数据预处理和结果辅助分析方面也相当方便,这一点尤其适合商业环境下的快速挖掘。不过就处理能力而言,实际感觉难以应对亿级以上的数据规模。
另一个商业软件 Matlab 也能提供大量数据挖掘的算法,但其特性更关注科学与工程计算领域。而著名的开源数据挖掘软件Weka,功能较少,且数据预处理和结果分析也比较麻烦,更适合学术界或有数据预处理能力的使用者。
中级篇1、通用大数据可视化分析
近两年来出现了许多面向大数据、具备可视化能力的分析工具,在商业研究领域,TableAU无疑是卓越代表。
TableAU 的优势主要在于支持多种大数据源/格式,众多的可视化图表类型,加上拖拽式的使用方式,上手快,非常适合研究员使用,能够涵盖大部分分析研究的场景。不过要注意,其并不能提供经典统计和机器学习算法支持, 因此其可以替代Excel, 但不能代替统计和数据挖掘软件。另外,就实际处理速度而言,感觉面对较大数据(实例超过3000万记录)时,并没有官方介绍的那么迅速。
2 、关系分析
关系分析是大数据环境下的一个新的分析热点(比如信息传播图、社交关系网等),其本质计算的是点之间的关联关系。相关工具中,适合数据研究人员的是一些可视化的轻量桌面型工具,最常用的是Gephi。
Gephi 是免费软件,擅长解决图网络分析的很多需求,其插件众多,功能强且易用。我们经常看到的各种社交关系/传播谱图, 很多都是基于其力导向图(Force directed graph)功能生成。但由于其由java编写,限制了处理性能(感觉处理超过10万节点/边时常陷入假死),如分析百万级节点(如微博热点传播路径)关系时,需先做平滑和剪枝处理。 而要处理更大规模(如亿级以上)的关系网络(如社交网络关系)数据,则需要专门的图关系数据库(如GraphLab/GraphX)来支撑了,其技术要求较高,此处不再介绍。
3、时空数据分析
当前很多软件(包括TableAU)都提供了时空数据的可视化分析功能。但就使用感受来看,其大都只适合较小规模(万级)的可视化展示分析,很少支持不同粒度的快速聚合探索。
如果要分析千万级以上的时空数据,比如新浪微博上亿用户发文的时间与地理分布(从省到街道多级粒度的探索)时,推荐使用 NanoCubes(http://www.nanocubes.net/)。该开源软件可在日常的办公电脑上提供对亿级时空数据的快速展示和多级实时钻取探索分析。下图是对芝加哥犯罪时间地点的分析,网站有更多的实时分析的演示例子
4、文本/非结构化分析
基于自然语言处理(NLP)的文本分析,在非结构化内容(如互联网/社交媒体/电商评论)大数据的分析方面(甚至调研开放题结果分析)有重要用途。其应用处理涉及分词、特征抽取、情感分析、多主题模型等众多内容。
由于实现难度与领域差异,当前市面上只有一些开源函数包或者云API(如BosonNLP)提供一些基础处理功能,尚未看到适合商业研究分析中文文本的集成化工具软件(如果有谁知道烦请通知我)。在这种情况下,各商业公司(如HCR)主要依靠内部技术实力自主研发适合业务所需的分析功能。
高级篇前面介绍的各种大数据分析工具,可应对的数据都在亿级以下,也以结构化数据为主。当实际面临以下要求: 亿级以上/半实时性处理/非标准化复杂需求 ,通常就需要借助编程(甚至借助于Hadoop/Spark等分布式计算框架)来完成相关的分析。 如果能掌握相关的编程语言能力,那研究员的分析能力将如虎添翼。
当前适合大数据处理的编程语言,包括:
R语言——最适合统计研究背景的人员学习,具有丰富的统计分析功能库以及可视化绘图函数可以直接调用。通过Hadoop-R更可支持处理百亿级别的数据。 相比SAS,其计算能力更强,可解决更复杂更大数据规模的问题。
Python语言——最大的优势是在文本处理以及大数据量处理场景,且易于开发。在相关分析领域,Python代替R的势头越来越明显。
Java语言——通用性编程语言,能力最全面,拥有最多的开源大数据处理资源(统计、机器学习、NLP等等)直接使用。也得到所有分布式计算框架(Hadoop/Spark)的支持。
前面的内容介绍了面向大数据研究的不同工具软件/语言的特点和适用场景。 这些工具能够极大增强研究员在大数据环境下的分析能力,但更重要的是研究员要发挥自身对业务的深入理解,从数据结果中洞察发现有深度的结果,这才是最有价值的。
以上是小编为大家分享的关于大数据研究常用软件工具与应用场景的相关内容,更多信息可以关注环球青藤分享更多干货
❸ 大数据挖掘通常用哪些软件
1.RapidMiner
只要是从事开源数据挖掘相关的业内人士都知道,RapidMiner在数据挖掘工具榜上虎踞榜首,叫好叫座。是什么让RapidMiner得到如此厚誉呢?首先,RapidMiner功能强大,它除了提供优秀的数据挖掘功能,还提供如数据预处理和可视化、预测分析和统计建模、评估和部署等功能。更厉害的是,它还提供来自WEKA(一种智能分析环境)和R脚本的学习方案、模型和算法,让它成为业界的一棵常春藤。
用Java语言编写的RapidMiner,是通过基于模板的框架为用户提供先进的分析技术的。它最大的好处就是,作为一个服务提供给用户,而不是一款本地软件,用户无需编写任何代码,为用户尤其是精于数据分析但不太懂编程的用户带来了极大的方便。
2.R-Programming
R语言被广泛应用于数据挖掘、开发统计软件以及数据分析中。你以为大名鼎鼎的R只有数据相关功能吗?其实,它还提供统计和制图技术,包括线性和非线性建模,经典的统计测试,时间序列分析、分类、收集等等。
R,R-programming的简称,统称R。作为一款针对编程语言和软件环境进行统计计算和制图的免费软件,它主要是由C语言和FORTRAN语言编写的,并且很多模块都是由R编写的,这是R一个很大的特性。而且,由于出色的易用性和可扩展性,也让R的知名度在近年来大大提高了,它也逐渐成为数据人常用的工具之一。
3.WEKA
WEKA支持多种标准数据挖掘任务,包括数据预处理、收集、分类、回归分析、可视化和特征选取,由于功能多样,让它能够被广泛使用于很多不同的应用——包括数据分析以及预测建模的可视化和算法当中。它在GNU通用公共许可证下是免费的,这也是它与RapidMiner相比的优势所在,因此,用户可以按照自己的喜好选择自定义,让工具更为个性化,更贴合用户的使用习惯与独特需求。
很多人都不知道,WEKA诞生于农业领域数据分析,它的原生的非Java版本也因此被开发了出来。现在的WEKA是基于Java版本的,比较复杂。令人欣喜的是,当它日后添加了序列建模之后,将会变得更加强大,虽然目前并不包括在内。但相信随着时间的推移,WEKA一定会交出一张很好看的成绩单。
4.Orange
对很多数据人来说,Orange并不是一个陌生的名字,它不仅有机器学习的组件,还附加有生物信息和文本挖掘,可以说是充满了数据分析的各种功能。而且,Orange的可视化编程和Python脚本如行云流水,定能让你拥有畅快的使用感。
Orange是一个基于Python语言的功能强大的开源工具,如果你碰巧是一个Python开发者,当需要找一个开源数据挖掘工具时,Orange必定是你的首选,当之无愧。无论是对于初学者还是专家级大神来说,这款与Python一样简单易学又功能强大的工具,都十分容易上手。
5.NLTK
著名的开源数据挖掘工具——NLTK,提供了一个语言处理工具,包括数据挖掘、机器学习、数据抓取、情感分析等各种语言处理任务,因此,在语言处理任务领域中,它一直处于不败之地。
想要感受这款深受数据人喜爱的工具的用户,只需要安装NLTK,然后将一个包拖拽到最喜爱的任务中,就可以继续葛优瘫N日游了,高智能性也是这款工具受人喜爱的最大原因之一。另外,它是用Python语言编写的,用户可以直接在上面建立应用,还可以自定义小任务,十分便捷。
6.KNIME
KNIME是一个开源的数据分析、报告和综合平台,同时还通过其模块化数据的流水型概念,集成了各种机器学习的组件和数据挖掘。我们都知道,提取、转换和加载是数据处理最主要的三个部分,而这三个部分,KNIME均能出色地完成。同时,KNIME还为用户提供了一个图形化的界面,以便用户对数据节点进行进一步的处理,十分贴心。
基于Eclipse,用Java编写的KNIME拥有易于扩展和补充插件特性,还有可随时添加的附加功能。值得一提的是,它的大量的数据集成模块已包含在核心版本中。良好的性能,更让KNIME引起了商业智能和财务数据分析的注意。
❹ 大数据挖掘通常用哪些软件
大数据挖掘通常用的软件有:
1.RapidMiner功能强大,它除了提供优秀的数据挖掘功能,还提供如数据预处理和可视化、预测分析和统计建模、评估和部署等功能。
2.R,R-programming的简称,统称R。作为一款针对编程语言和软件环境进行统计计算和制图的免费软件,它主要是由C语言和FORTRAN语言编写的,并且很多模块都是由R编写的,这是R一个很大的特性
3.WEKA支持多种标准数据挖掘任务,包括数据预处理、收集、分类、回归分析、可视化和特征选取,由于功能多样,让它能够被广泛使用于很多不同的应用——包括数据分析以及预测建模的可视化和算法当中。
4.Orange是一个基于Python语言的功能强大的开源工具,如果你碰巧是一个Python开发者,当需要找一个开源数据挖掘工具时,Orange必定是你的首选,当之无愧。
5.KNIME是一个开源的数据分析、报告和综合平台,同时还通过其模块化数据的流水型概念,集成了各种机器学习的组件和数据挖掘。
想要了解更多关于大数据挖掘的相关知识,推荐CDA数据分析课程,课程教你学企业需要的敏捷算法建模能力。你可以学到前沿且实用的技术,挖掘数据的魅力;教你用可落地、易操作的数据科学思维和技术模板构建出优秀模型;聚焦策略分析技术及企业常用的分类、NLP、深度学习、特征工程等数据算法。点击预约免费试听课。
❺ 怎么调用weka中的算法怎么用weka处理大数据集
weka是个开源java工具集,当然直接在你的java 工程中调用就可以了。。。
即使你的程序是.net的,也能通过IKVM搞定
❻ 用weka处理数据出现Cannot handle numeric attributes!是什么原因
Cannot handle numeric attributes翻译过来是:无法处理的数字类!
原因:最有可能您的类的定义是一个数字,而不是专名义
attribute.属性。属 Correct it in your arff file or use the NumericToNominal纠正你的arff文件或使用NumericToNominal
filter in the developer version.过滤器的开发版本。
解决:改变阶级属性的数值为( -1,1 )
希望对你有所帮助!