版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据发掘-WAKA实验报告一、WEKA软件简介在我所从事的证券行业中,存在着海量的信息和数据,但是这些数据平常知识发挥了一小部分的作用,其包含了大批的隐性的信息其实不为所用,但是却可以为一些公司的决讲和对客户的服务供给不小的价值。所以,我们1/21可以经过一些数据采集、数据发掘来获取潜伏的有价值的信息。数据发掘就是经过分析存在于数据库里的数据来解决问题。在数据发掘被骗算机以电子化的形式储存数据,并且能自动的查询数据,经过关系规则、分类于回归、聚类分析等算法对数据进行一系列的办理,找寻和描画数据里的结构模式,从而发掘出潜伏的实用的信息。数据发掘就是经过分析存在于数据库里的数据来解决问题。WEKA
2、的出现让我们把数据发掘无需编程即可轻松搞定。WEKA是由新西兰怀卡托大学开发的开源项目,全名是怀卡托智能分析环境(WaikatoEnvironmentforKnowledgeAnalysis)。WEKA是由JAVA编写的,它的源代码可经过获取,并且限制在GBU通用公众证书的条件下公布,可以运转在所有的操作系统中。是一款免费的,非商业化的机器学习以与数据发掘软件WEKA作为一个公开的数据发掘工作平台,汇合了大批能担当数据发掘任务的机器学习算法,包含对数据进行预办理,分类,回归、聚类、关系规则以与在新的交互式界面上的可视化。假如想自己实现数据发掘算法的话,可以看一看WEKA的接口文档。在WEKA中
3、集成自己的算法甚至借鉴它的方法自己实现可视化工具其实不是件很困难的事情。安装WEKA也十分简单,首相要下载安装JDK环境,JDK在这个页面可以找到它的下载java.sun./javase/downloads/index.jsp。点击JDK6以后的Download按钮,转到下载页面。选择Accepct,过一会儿页面会刷新。我们需要的是这个WindowsOfflineInstallation,Multi-languagejdk-6-windows-i586.exe53.16MB,点击它下载。也可以右键点击它上边的,在Flashget等工具中下载。安装它和一般软件没什么差别。但是中间会中断一下提示你
4、安装JRE,一并装上即可。以后就是安装WEKA软件,这个在网上很多地方都有。相同简单地按默认方法安装后即可使用。点击启动运转WEKA软件后,我门发现WEKA储存数据的格式是ARFF(Attribute-RelationFileFormat)文件,这是一种ASCII文本文件。我们如图1经过软件的Tools菜单进入ArffViewer可以在安装目录下查察软件自带的几个ARFF文件。2/21图1图2如图2,打开文件后选择data自目录下的随便一表,我们都可以看到如图3所示的二维表格储存在以下的ARFF文件中。这也就是WEKA自带的“contact-lenses.arff”文件。这里我们要介绍一下WE
5、KA中的术语。表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,也许数据库中的一条记录。竖行称作一个属性(Attrbute),相当于统计学中的一个变量,也许数据库中的一个字段。这样一个表格,也许叫数据集,在WEKA看来,表现3/21了属性之间的一种关系(Relation)。图1中一共有22个实例,5个属性,关系名称为“contact-lenses”。除了ARFF格式,WEKA还支持别的一种常有格式,CSV格式。CSV相同是一种二进制保存的文本格式,我们可以在WEKA中直接打开CSV格式的文件,并保存为ARFF格式。这样就给我供给了把常有的数据格式变换为ARFF格式的方
6、法,如对于Excel文件,我们可以经过把每表保存为CSV格式,从而保存为ARFF格式,与此同时,我们可以利用filter对数据进行相应的预办理。而对于Matlab格式的数据,我们可以经过命令csvwrite把数据转变为CSV格式的文件,从而转变为ARFF格式文件。对于海量数据,一般保存在数据库中,WEKA同时支持JDBC接见数据库。图3打开WEKA,第一出现一个命令行窗口。原认为要在这个命令行下写java语句呢,但是稍等一秒,WEKAGUIChooser的出现了。这是一个很简单的窗体,供给四个按钮:SimpleCLI、Explorer、Experimenter、KnowledgeFlow。Si
7、mpleCLI应该是一个使用命令行的界面,有点像SAS的编写器;Explorer是则是视窗4/21模式下的数据发掘工具;Experimenter和KnowledgeFlow的使用有待进一步摸索.图41)Explorer使用WEKA探究数据的环境。在这个环境中,WEKA供给了数据的预办理,数据格式的转变(从CSV格式到ARFF格式的转变),各种数据发掘算法(包含分类与回归算法,聚类算法,关系规则等),并供给了却果的可视化工具。对于一个数据集,经过简单的数据的预办理,并对数据发掘算法进行选择(在WEKA3.版5本以后,加入了算法的过滤功能,可以过滤掉那些不合适当前数据集种类的算法),接着经过窗口界
8、面对算法的参数进行配置。可视化工具分为对数据集的可视化和对部分结果的可视化,并且我们可以经过属性选择工具(SelectAttribute),经过搜找数据集中所有属性的可能组合,找出展望成效最好的那一组属性。Explorer是一般用户最常用的一个界面。用户可以从ARFF文件(Weka使用的一种文本文件格式)、网页或数据库中读取数据集。打开数据文件后,可以选择算法对数据进行预办理。这时窗体上给出了这个数据集的一些基本特色,如含有多少属性,各属性的一些简单统计量,右下方还给出一些可视化成效图。这些都是比较直观的分析,假如想发现隐蔽在数据集背后的关系,还需要选择Weka供给的各种分类、聚类或关系规则的
9、算法。所有设置完成后,点击Start按钮,就可以放心地等候weka带来最后的结果。哪些结果是真切实用的还要靠经验来判断。2)Experimenter5/21运转算法试验、管理算法方案之间的统计检验的环境。Experiment环境可以让用户创办,运转,更正和分析算法试验,这也许比单独的分析各个算法更加方便。好比,用户可创办一次试验,在一系列数据集上运转多个算法(schemes),而后分析结果以判断能否某个算法比其余算法(在统计意义下)更好。Explorermenter主要包含简单模式,复杂模式和远程模式。复杂模式是对简单模式的基本功能的扩大,而远程模式同意我们经过分布式的方法进行实验。就功能模块
10、而言,分为设置模块,运转模块和分析模块。在设置模块中我们可以自定义实验,加入多个算法和多方的源数据(支持ARFF文件,CSV文件和数据库),在运转模块中我们可以运转我们的实验,而在分析模块中,我们可以分析各种算法的的正确性,并供给了各种统计方法对结果进行检验比较。值得一提的是,我们可以把实验的各种参数,包含算法,数据集等,保存以方便下一次相同实验的进行;也可以把各种算法保存,方便应用在不一样的数据集上;假如数据集本源于数据库的话,实验在过程中可以中断并连续(原由可以是被中断也许是扩展了实验),这样就不用重新运转那些已实验过的算法/数据集庆祝,而仅计算还没有被实验的那些。2)KnowledgeF
11、lowExplorer的一个不足在于,当用户打开一个数据集时,所有数据将所有被读入到主存中间,跟着任务规模的增大,一般配置的计算机很难满足要求。KnowledgeFlow供给了一个用于办理大型数据集的递加算法,特地办理这一问题。这个环境实质上和Explorer所支持的功能是相同的,但是它有一个可以拖放的界面。它有一个优势,就是支持增量学习(incrementallearning)。KnowledgeFlow为WEKA供给了一个数据流形式的界面。用户可以从一个工具栏中选择组件,把它们搁置在面板上并按必定的顺序连接起来,这样构成一个知识流(knowledgeflow)来办理和分析数据。当前,所有的
12、WEKA分类器(classifier)、挑选器(filter)、聚类器(clusterer)、载入器(loader)、保存器(saver),以与一些其余的功能可以在KnowledgeFlow中使用。KnowledgeFlow可以使用增量模式(incrementally)也许批量模式inbatches)来办理数据(Explorer只好使用批量模式)。自然对数据进行增量学习要求分类器可以依据各实例逐一逐一的更新此刻WEKA中有五个分类器6/21可以增量地办理数据:NaiveBayesUpdateable,IB1,IBk,LWR(局部加权回归)。还有一个meta分类器RacedIncremental
13、LogitBoost可以使用随便基于回归的学习器来增量地学习失散的分类任务。4)SimpleCLI供给了一个简单的命令行界面,能经过键入文本命令的方式来实现其余三个用户界面所供给的所有功能,从而可以在没有自带命令行的操作系统中直接执行WEKA命令。使用命令行有两个好处:一个是可以把模型保存下来,这样有新的待展望数据出现时,不用每次重新建模,直接应用保存好的模型即可。另一个是对展望结果给出了置信度,我们可以有选择的采用展望结果,好比,只考虑那些置信度在85%以上的结果。二、实验事例介绍本文用WEKA软件作为工具,结合券商的基金某一个时段交易业务数据进行分析。实验的数据是一个交易周的基金交易业务数
14、据。该表含有date(日期)、fund_code(基金代码)、fund_name(基金名称)、company_code(基金公司代码)、company(基金公司名称)、business_code(业务代码)、business_name(业务名称)、shares(基金份额)、balance(资本金额)、fares(手续费)、fares_type(手续费种类)、internet_shares(网上交易基金份额)、internet_balance(网上交易资本金额)、remark(备注)等字段,经过实验,希望能找出客户的基金交易分布状况。该数据的数据属性以下:date(numeric),交易发诞辰期
15、;fund_code(numeric),基金代码;fund_name(character),基金名称;company_code(numeric),用于报送的基金公司代码;company(character),所属的基金公司;business_code(numeric),交易业务代码;business_name(character),交易业务名称;shares(numeric),基金交易份额;7/21balance(numeric),资本交易金额;fares(numeric),交易手续费;fares_type(enum),手续费种类,取值围“全额结算”/“净额结算”;internet_share
16、s(numeric),网上交易基金份额;internet_balance(numeric),网上交易资本金额;remark(character),备注;三、数据分析我们给出一个CSV文件的例子(Fund-data.csv)。用UltraEdit打开它可以看到,这类格式也是一种逗号切割数据的文本文件,储备了一个二维表格。Excel的XLS文件可以让多个二维表格放到不一样的工作表(Sheet)中,我们只好把每个工作表存成不一样的CSV文件。打开一个XLS文件并切换到需要变换的工作表,另存为CSV种类,点“确立”、“是”忽视提示即可完成操作。需要注意的是,Matllab给出的CSV文件常常没有属性名
17、(Excel给出的也有可能没有)。而WEKA一定从CSV文件的第一行读取属性名,不然就会把第一行的各属性值读成变量名。所以我们对于Matllab给出的CSV文件需要用UltraEdit打开,手工增加一行属性名。注意属性名的个数要跟数据属性的个数一致,仍用逗号分开。1、.csv-.arff将CSV变换为ARFF最灵敏的方法是使用WEKA所带的命令行工具。运转WEKA的主程序,出现GUI后可以点击下方按钮进入相应的模块。我们点击进入“SimpleCLI”模块供给的命令行功能。因为weka暂不支持中文输入,所以优选了在D盘下进行变换,在新窗口的最下方(上方是不能写字的)输入框写上javaD:/Fun
18、d-data.csv即可完成变换,生成文件“”。见以以下图5:8/21图5进入“Exploer”模块,从上方的按钮中打开CSV文件而后另存为ARFF文件亦可。我们应该注意到,“Exploer”还供给了很多功能,实质上可以说这是WEKA使用最多的模块。此刻我们先来熟习它的界面,而后利用它对数据进行预办理。界面显现见以以下图6:图中显示的是使用“Exploer”打开“”的状况。9/21图62、预办理以往对于WEKA来说其实不支持中文,所以我们将一些涉与中文的字段删除。勾选属性“fund_name”、“company”、“business_name”、“remark”,并点击“Remove”。将新的
19、数据集保存一次。此中“fares_type”只有2个取值:全额结算和净额结算。这时我们在UltraEdit中直接更正ARFF文件,把attributefares_type全额结算,净额结算改为attributefares_typeFull,Netattributedatenumeric改为attributdate2009/8/24,2009/8/25,2009/8/26,2009/8/27,2009/8/28就可以了。10/21在“Explorer”中重新打开“fund-data.arff”,选中“date”和“fund_type”,看到属性已经变为“Nominal”了。WEKA支持的有四种,
20、分别是:numeric-数值型,-分类(nominal)型,string-字符串型,date-日期和时间型而本表只有nemeric和nominal两各种类,数值属性(nemeric)数值型属性可以是整数也许实数,但WEKA把它们都看作实数对待。分类属性(nominal)分类属性由列出一系列可能的类别名称并放在花括号中:,.。数据集中该属性的值只好是此中一种类别。假如类别名称带有空格,仍需要将之放入引号中。“shares”,“banlance”,“fares”,“internet_shares”和“internet_banlance”的失散化我们需要借助WEKA中名为“Discretize”的F
21、ilter来完成。在地域2中点“Choose”,出现一棵“Filter树”,逐级找到“”,点击。若没法封锁这个树,在树以外的地方点击“Explorer”面板即可。此刻“Choose”旁边的文本框应该显示“Discretize-B10-M-0.1-Rfirst-last”。点击这个文本框会弹出新窗口以更正失散化的参数。我们不打算对所有的属性失散化,不过针对对第4,5,6,8,9个,故把attributeIndices右侧改成“4,5,6,8,9”。我们把这两个属性都分成10段,于是把“bins”改成“10”。其余不变。点“OK”回到“Explorer”,可以看到“shares”,“banlanc
22、e”,“fares”,“internet_shares”和“internet_banlance”已经被失散化成分种类的属性。同时我们可以用UltraEdit打开保存后的ARFF文件,把所有的近似“(-inf-1464805.884”替代成“0_1464805.884”。其余标识做近似地手动替代。经删减后,保存date、shares、balance、fares、fares_type、internet_shares、internet_balance7个属性,如图711/21图7在进行数据采集和整理的过程中,我们发现假如属性的种类为数值型的话,在做关系分析时将不可以获取结果,因为关系分析没法办理数值
23、型数据。所以,我们进行了数据失散办理后使得需要分析的数据变为分种类,这样就可以关系分析得以顺利进行。所以经过预办理数据可以提高原数据的质量,清除数据噪声和与发掘目标没关的数据,为进一步的发掘工作莫定靠谱的基础。3、分类与回归WEKA中的“Classify”选项卡中包含了分类(Classification)和回归(Regression),在这两个任务中,都有一个共同的目标属性(输出变量)。可以依据一个样本(WEKA中称作实例)的一组特色(输入变量),对目标进行展望。为了实现这一目的,我们需要有一个训练数据集,这个数据集中每个实例的输入和输出都是已知的。观察训练集中的实例,可以建立起预测的模型。有
24、了这个模型,我们就可以新的输出未知的实例进行展望了。衡量模型的利害就在于展望的正确程度。在WEKA中,待展望的目标(输出)被称作Class属性,这应该是来自分类任务的“类”。一般的,若Class属性是分种类时我们的任务才叫分类,Class属性是数值型时我们的任务叫12/21回归。而我们使用决策树算法C4.5对Fund-data-normal建立起分类模型。所以我们制作分类不做回归。我们用“Explorer”打开训练集“Fund-data-normal.arff”,。切换到“Classify”选项卡,点击“Choose”按钮后可以看到很多分类也许回归的算法分门别类的列在一个树型框里。树型框下方有
25、一个“Filter.”按钮,点击后勾选“Binaryattributes”“Numericattributes”和“Binaryclass”。点“OK”后回到树形图,可以发现一些算法名称变灰了,说明它们不可以用。选择“trees”下的“J48”,这就是我们需要的C4.5算法。点击“Choose”右侧的文本框,弹出新窗口为该算法设置各种参数。我们把参数保持默认。选上“Cross-validation”并在“Folds”框填上“10”。点“Start”按钮开始让算法生成决策树模型。很快,用文本表示的一棵决策树以与对这个决策树的偏差分析结果出此刻右侧“Classifieroutput”中。见图8。图
26、84、聚类分析聚类的任务是把所有的实例分配到若干的簇,使得同一个簇的实例聚13/21集在一个簇中心的四周,它们之间距离的比较近;而不一样簇实例之间的距离比较远。此刻我们对前面的“Fund-data-normal”作聚类分析,使用最常有的K均值(K-means)算法。用“Explorer”打开刚刚获取的“Fund-data-normal.arff”,并切换到“Cluster”。点“Choose”按钮选择“SimpleKMeans”,这是WEKA中实现K均值的算法。点击旁边的文本框,更正“numClusters”为6,说明我们希望把这734条实例聚成6类,即K=5。下边的“seed”参数是要设置一
27、个随机种子,依此产生一个随机数,用来获取K均值算法中第一次给出的K个簇中心的位置。我们不如临时让它就为10。选中“ClusterMode”的“Usetrainingset”,点击“Start”按钮,观察右侧“Clustereroutput”给出的聚类结果。见以以下图9:图95、关系规则我们打算对前面的“Fund-data-normal”数据作关系规则的分析。用“Explorer”打开“Fund-data-normal.arff”后,切换到“Associate”14/21选项卡。默认关系规则分析是用Apriori算法,我们就用这个算法,但是点“Choose”右侧的文本框更正默认的参数。从网上获取
28、的Apriori相关知识:对于一条关系规则L-R,我们常用支持度(Support)和置信度(Confidence)来衡量它的重要性。规则的支持度是用来预计在一个购物篮中同时观察到L和R的概率P(L,R),而规则的置信度是预计购物栏中出现了L时也出会现R的条件概率P(R|L)。关系规则的目标一般是产生支持度和置信度都较高的规则。有几个近似的胸襟取代置信度来衡量规则的关系程度,它们分别是Lift(提高度?):P(L,R)/(P(L)P(R)Lift=1时表示L和R独立。这个数越大,越说明L和R存在在一个购物篮中不是有时现象。Leverage(不知道怎么翻译):P(L,R)-P(L)P(R)它和Li
29、ft的含义差不多。Leverage=0时L和R独立,Leverage越大L和R的关系越亲近。Conviction(更不知道译了):P(L)P(!R)/P(L,!R)(!R表示R没有发生)Conviction也是用来衡量L和R的独立性。从它和lift的关系(对R取反,代入Lift公式后求倒数)可以看出,我们也希望这个值越大越好。值得注意的是,用Lift和Leverage作标准时,L和R是对称的,Confidence和Conviction则不然。此刻我们计划发掘出支持度在10%到100%之间,并且lift值超出1.5且lift值排在前100位的那些关系规则。我们把“lowerBoundMinSup
30、port”和“upperBoundMinSupport”分别设为0.1和1,“metricType”设为lift,“minMetric”设为1.5,“numRules”设为10,其余参数不变。点击“start”见图1015/21图10我们也可以利用命令行来完成发掘任务,在“SimlpeCLI”模块中输入以下格式的命令:-N100-T1-C1.5-D0.05-U1.0-M0.1-S-1.0-I-td:fund-data-normal.arff即可获取如图11的结果。16/21图116、属性分析用“Explorer”打开刚刚获取的“Fund-data-normal.arff”,并切换到“Selec
31、tattributes”。点“AttributeEvaluator”中的“Choose”按钮选择“ClassifierSubsetEval”,点“SearchMethod”中的“Choose”按钮选择“RaceSearch”。在“AttributeSelection”中选中“Cross-validation”项,参数默认Folds=10和Seed=1。点击“start”见图1217/21图127、可视化分析用“Explorer”打开刚刚获取的“Fund-data-normal.arff”,并切换到“Visualize”。见图1318/21图13四、分析结果1、分类与回归我们看到“J48”算法交织验证的结果之一为CorrectlyClassifiedInstances73099.455%IncorrectlyClassifiedInstances40.545%=ConfusionMatrix=abcdefghij-classifiedas730000000000|a=(0_1430078.8831000000000|b=(1430078.7661000000000|c=(2860157.6490
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子绝缘与介质材料制造工岗前工作效率考核试卷含答案
- 汽车零部件装调工岗前复试考核试卷含答案
- 金黄色葡萄球菌护理
- 医疗行业的人才培养与职业发展
- 老年护理需求评估与护理实践研究
- 肾脏病治疗新方法与临床挑战
- 2025年医学分析-口腔颌面颈部脉管神经(口腔解剖生理学课件)
- 执业医师资格考试《临床执业医师》第三次测(含)
- 混合方法研究在心脏康复研究中的应用
- 《内科学基础》课件
- 江苏省镇江市2026-2027学年第一学期高三期初质量监测数学试卷
- 2026年甘肃省地矿局所属事业单位引进高层次人才(第一期)补充考试参考试题及答案详解
- 2026年森林消防文员招聘考试笔试试题(含答案)
- 江苏南通市2027届高三上学期第一次质量检测 政治试题(含答案)
- 招商银行总行、分行及子公司2027届校园招聘笔试参考题库及答案详解
- 2025中级通信工程师《传输与接入(无线)》回忆版真题+参考答案
- 通信专业技术人员考试题库(1000题含答案和解析)
- 中医便秘护理中的饮食调养
- 2026年行政执法证考试必考题库及完整参考答案(官方大纲版)
- 2026年投资顾问考试试题及答案
- TSG31-2025《工业管道安全技术规程》贯宣20250122
评论
0/150
提交评论