How to create ARFF files??
An ARFF (Attribute-Relation File Format) file is an ASCII
text file that describes a list of instances sharing a set of attributes. ARFF
files were developed by the Machine Learning Project at the Department of
Computer Science of The University of Waikato for use with the Weka machine learning software. This document descibes the version of ARFF used
with Weka versions 3.2 to 3.3; this is an extension of the ARFF format as
described in the data mining.
Overview
ARFF files have two
distinct sections. The first section is the Header information,
which is followed the Data information.
The Header of
the ARFF file contains the name of the relation, a list of the attributes (the
columns in the data), and their types. An example header on the standard IRIS
dataset looks like this:
% 1.
Title: Iris Plants Database
%
% 2.
Sources:
%
(a) Creator: R.A. Fisher
% (b) Donor: Michael Marshall
(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}
The Data of
the ARFF file looks like the following:
@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
Lines that begin with a
% are comments. The @RELATION, @ATTRIBUTE and @DATA declarations
are case insensitive.
The ARFF Header Section
The
ARFF Header section of the file contains the relation declaration and attribute
declarations.
The
@relation Declaration
The
relation name is defined as the first line in the ARFF file. The format is: @relation <relation-name>
where <relation-name> is a string. The
string must be quoted if the name includes spaces.
The
@attribute Declarations
Attribute
declarations take the form of an orderd sequence of @attribute statements. Each @attribute statement which uniquely defines the
name of that attribute and it's data type. The order the attributes are
declared indicates the column position in the data section of the file. For example, if an attribute is the third one declared then Weka expects that all that attributes values will be found in the third comma delimited column.
The format for the @attribute statement is:
@attribute <attribute-name> <datatype>
where the <attribute-name> must start with an alphabetic character. If
spaces are to be included in the name then the entire name must be quoted.
The <datatype> can be any of the four types currently
(version 3.2.1) supported by Weka:- numeric
- <nominal-specification>
- string
- date
[<date-format>]
where <nominal-specification> and
<date-format> are defined below. The keywords numeric, string and date are case insensitive.
Numeric
attributes
Numeric
attributes can be real or integer numbers.
Nominal
attributes
Nominal
values are defined by providing an <nominal-specification> listing the
possible values: {<nominal-name1>, <nominal-name2>,
<nominal-name3>, ...}For example, the class value of the Iris dataset can be defined as follows:
@ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica}
Values
that contain spaces must be quoted.
String
attributes
String
attributes allow us to create attributes containing arbitrary textual values.
This is very useful in text-mining applications, as we can create datasets with
string attributes, then write Weka Filters to manipulate strings (like
StringToWordVectorFilter). String attributes are declared as follows: @ATTRIBUTE LCC string
Date
attributes
Date
attribute declarations take the form: @attribute <name> date [<date-format>]
where <name> is the name for the attribute
and <date-format> is an optional string specifying date values . The
default format string accepts the ISO-8601 combined date and time format:
"yyyy-MM-dd'T'HH:mm:ss".
Dates
must be specified in the data section as the corresponding string
representations of the date/time (see example below).
ARFF Data Section
The
ARFF Data section of the file contains the data declaration line and the actual
instance lines.
The @data
Declaration
The @data declaration is a single line denoting
the start of the data segment in the file. The format is: @data
The
instance data
Each
instance is represented on a single line, with carriage returns denoting the
end of the instance.Attribute values for each instance are delimited by commas. They must appear in the order that they were declared in the header section (i.e. the data corresponding to the nth @attribute declaration is always the nth field of the attribute).
Missing values are represented by a single question mark, as in:
@data
4.4,?,1.5,?,Iris-setosa
No comments:
Post a Comment