在python中读写arff文件的模块。
liac-arff的Python项目详细描述
liac arff模块实现读取和写入arff文件的功能 Python。它是在康涅狄格人工智能实验室创建的。 (LIAC),在南里奥格兰德联邦大学举行 (UFRGS),在巴西。
arff(属性关系文件格式)是专门为 描述通常用于机器学习实验的数据集 软件。创建此文件格式是为了在WEKA中使用,最好的 机器学习自动化实验的代表性软件。
你可以克隆arff-datasets 一组大型arff文件的存储库。
功能
- 使用python内置结构(如字典)读写arff文件 和列表;
- 支持scipy.sparse.coo 以及svmlight使用的词典列表
- 支持以下属性类型:numeric、real、integer、string和 标称;
- 具有类似于其他内置模块的接口,如json,或 zipfile;
- 支持读取和写入文件的描述;
- 支持缺少的值和带有空格的名称;
- 支持Unicode值和名称;
- 完全兼容Python2.7+和Python3.3+;
- 在MIT License
如何安装
通过PIP:
$ pip install liac-arff
通过简易安装:
$ easy_install liac-arff
手动:
$ python setup.py install
文档
有关该模块的完整说明,请参阅 http://packages.python.org/liac-arff/带镜子 http://inf.ufrgs.br/~rppereira/docs/liac-arff/index.html
用法
您可以按如下方式读取arff文件:
>>> import arff >>> data = arff.load(open('wheater.arff', 'rb'))
结果是:
>>> data { u'attributes': [ (u'outlook', [u'sunny', u'overcast', u'rainy']), (u'temperature', u'REAL'), (u'humidity', u'REAL'), (u'windy', [u'TRUE', u'FALSE']), (u'play', [u'yes', u'no'])], u'data': [ [u'sunny', 85.0, 85.0, u'FALSE', u'no'], [u'sunny', 80.0, 90.0, u'TRUE', u'no'], [u'overcast', 83.0, 86.0, u'FALSE', u'yes'], [u'rainy', 70.0, 96.0, u'FALSE', u'yes'], [u'rainy', 68.0, 80.0, u'FALSE', u'yes'], [u'rainy', 65.0, 70.0, u'TRUE', u'no'], [u'overcast', 64.0, 65.0, u'TRUE', u'yes'], [u'sunny', 72.0, 95.0, u'FALSE', u'no'], [u'sunny', 69.0, 70.0, u'FALSE', u'yes'], [u'rainy', 75.0, 80.0, u'FALSE', u'yes'], [u'sunny', 75.0, 70.0, u'TRUE', u'yes'], [u'overcast', 72.0, 90.0, u'TRUE', u'yes'], [u'overcast', 81.0, 75.0, u'FALSE', u'yes'], [u'rainy', 71.0, 91.0, u'TRUE', u'no'] ], u'description': u'', u'relation': u'weather' }
您可以使用此结构编写arff文件:
>>> print arff.dumps(data) @RELATION weather @ATTRIBUTE outlook {sunny, overcast, rainy} @ATTRIBUTE temperature REAL @ATTRIBUTE humidity REAL @ATTRIBUTE windy {TRUE, FALSE} @ATTRIBUTE play {yes, no} @DATA sunny,85.0,85.0,FALSE,no sunny,80.0,90.0,TRUE,no overcast,83.0,86.0,FALSE,yes rainy,70.0,96.0,FALSE,yes rainy,68.0,80.0,FALSE,yes rainy,65.0,70.0,TRUE,no overcast,64.0,65.0,TRUE,yes sunny,72.0,95.0,FALSE,no sunny,69.0,70.0,FALSE,yes rainy,75.0,80.0,FALSE,yes sunny,75.0,70.0,TRUE,yes overcast,72.0,90.0,TRUE,yes overcast,81.0,75.0,FALSE,yes rainy,71.0,91.0,TRUE,no % % %