秦奕青
(北京信息科技大学,北京 100101)
ARFF-DB转换器的应用背景来自于机器学习领域的Weka系统[1]。Weka把ARFF格式的文本文件转换为数据库的记录格式,形成由实例(Instance)和属性(Attribute)组成的关系,再通过机器学习,发现规则或者概念。
ARFF(Attribute-Relation File Format)是 Weka 使 用的数据文件输入格式,其样例如下。
%1.Title:Iris Plants Database
%
%2.Sources:
%(a)Creator:R.A.Fisher
% (b)Donor:MichaelMarshall(MARSHALL%PLU@io.arc.nasa.gov)
%(c)Date:July,1988
%
@RELATION iris
@ATTRIBUTE sepallength NUMERIC
@ATTRIBUTE sepalwidth NUMERIC
@ATTRIBUTE petallength NUMERIC
@ATTRIBUTE petalwidth NUMERIC
@ATTRIBUTE class{Iris-setosa,Iris-versicolor,Iris-virginica}
@DATA
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
4.6,3.4,1.4,0.3,Iris-setosa
5.0,3.4,1.5,0.2,Iris-setosa
4.4,2.9,1.4,0.2,Iris-setosa
4.9,3.1,1.5,0.1,Iris-setosa
文件由两部分组成,第一部分被称作文件头(header),第二部分被称作数据(data)。Header部分是由@RELATION和@ATTRIBUTE组成,其中,@RELATION声明了数据实例所在的关系名称,例如:iris(鸢尾花);@ATTRIBUTE声明了数据中属性的名称及其类型,例如:属性名sepallength(花萼长度),属性的类型是numeric(数值型)。 属性类型除了 numeric,还包括 real、integer、nominal、string 和 date,其中,real和 integer均 被 视为numeric;nominal型属性值属于离散值,可以通过枚举方式给出所有属性值(例如:class属性,其值在{}中列出,属于名词型属性,具有离散特性);date属性值应符合ISO-8601,格式为YYYY-MM-DD。Data部分由@DATA导出,每个实例的相关属性值为一行,上例中每个实例的属性值均与@ATTRIBUTE部分定义的属性一一对应,还可以由其他表示实例属性值的方法[1]表示。本例中给出了10个实例数据,每个实例都有5个属性值。更多ARFF文件格式的内容请参见参考文献[1]。
随着软件开发需求的增加,各种软件开发方法和技术层出不穷。各类驱动式[2]、敏捷编程[3]软件开发方法不仅被广泛应用,而且其变体和扩展也被深入研究[4-5],以期提高软件开发效率和软件质量。在开发文件转换器中,同样使用了用例驱动开发方法实现主界面、基于GUI的开发方法实现程序主题框架。尽管如此,开发使用的核心和基本方法仍然是经典的逐步求精软件开发方法,需求分析和设计主要采用自顶向下方法,实现阶段则采用自底向上方法。……