Weka中用的ARFF文件格式分爲兩部分:Header 和Data。其中Header部分用於定義Relation的名字、一系列Attribute的名字和類型,比如:
@RELATION iris
@ATTRIBUTE sepallength NUMERIC
@ATTRIBUTE sepalwidth NUMERIC
@ATTRIBUTE petallength NUMERIC
@ATTRIBUTE petalwidth NUMERIC
@ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica}
Data部分,顧名思義就是數據,其中的Attribute順序必須與Header定義的順序一致,如果值爲空則用?代替,不同Attribute值之間用逗號分隔,逗號後面可跟若干空格,格式如下: @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.4,?,1.5,?,Iris-setosa
其中@RELATION、@ATTRIBUTE、@DATA對大小寫不敏感,對於ARFF文件中出現的所有字符串(名字或者值),如果中間有空格出現一律需要用引號括起來。 Attribute支持的數據類型包括:
1. numeric
2. real(當做numeric)
3. integer(當做numeric)
4. string
5. 枚舉類型
6. date [<date-format>]
這些數據類型關鍵詞numeric、real、integer、string、date對大小寫不敏感。其中枚舉類型在定義完Attribute的名字後緊跟着可選值的範圍,用花括號括起來。date類型如不指明格式默認使用ISO-8601定義的格式:yyyy-MM-dd
HH:mm:ss,如要指定特定的格式,在date後面指定,格式同java.text.SimpleDateFormat規定的相同。
Data部分的值大小寫敏感,date值必須與指定的格式相同。
參考: