伽怎么读音是什么:Weka项目中的ARFF文件结构解析 - 数据挖掘工具( Data Mining Tool...

来源:百度文库 编辑:中财网 时间:2024/04/29 16:06:53

Weka作为数据挖掘开源项目中的经典,很多算法和数据的组织结构是值得学习的。Weka里面大量使用了一种叫做arff(Attribute-Relation File Format )的数据文件结构。这种arff文件内部结构很简单,主要是测试算法使用的轻量级的数据文件结构。OpenMiner继承Weka的风格,也打算支持arff文件格式,并且作为前期的挖掘算法测试数据来源。下面是我从网上找到的关于这种文件格式的网址http://www.cs.waikato.ac.nz/~ml/weka/arff.html 数据挖掘实验室

ARFF文件格式很简单,从Weka里面都可以找到一些它的例子: 数据挖掘论坛

@relation weather 数据挖掘论坛

@attribute outlook {sunny, overcast, rainy} 数据挖掘论坛

@attribute temperature real 数据挖掘论坛

@attribute humidity real

数据挖掘实验室

 

@attribute windy {TRUE, FALSE} 数据挖掘工具

@attribute play {yes, no}

数据挖掘工具

 

@data

数据挖掘交友

 

sunny,85,85,FALSE,no 数据挖掘工具

sunny,80,90,TRUE,no 数据挖掘实验室

overcast,83,86,FALSE,yes 数据挖掘研究院

rainy,70,96,FALSE,yes 数据挖掘论坛

rainy,68,80,FALSE,yes 数据挖掘研究院

rainy,65,70,TRUE,no

数据挖掘研究院

 

overcast,64,65,TRUE,yes 数据挖掘研究院

sunny,72,95,FALSE,no 数据挖掘研究院

sunny,69,70,FALSE,yes 数据挖掘论坛

rainy,75,80,FALSE,yes

数据挖掘工具

 

sunny,75,70,TRUE,yes 数据挖掘论坛

overcast,72,90,TRUE,yes 数据挖掘交友

overcast,81,75,FALSE,yes 数据挖掘研究院

rainy,71,91,TRUE,no 数据挖掘论坛

不用多说,直接看,大致都能明白这个数据文件的意思了。 数据挖掘实验室

在读取arff文件的时候,有点是需要注意到的。在Java中,InputStream,DataInputStream这些类都不支持mark和reset,也就是说不能倒回去再读。而ByteArrayInputStream支持mark和reset,但是arff文件作为一个数据源文件,可能包含几十MB,甚至是几百MB。。。的数据,如果全部先读进内存,再从内存中解析,恐怕并不可行。还好Java中实现了BufferedInputStream,它可以预读8192个字节的缓冲,内存中的读完后,再从输入流中继续读8192个字节的缓冲,并且支持mark和reset,这就是我在Java里面自己实现解析arff时候的主要技术问题所在。至于字符串的解析就很简单了。