在python中读写arff文件的模块。

liac-arff的Python项目详细描述


https://travis-ci.org/renatopp/liac-arff.svg

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

用法

您可以按如下方式读取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
%
%
%

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java没有从表中提取数据,只将指针放入JList   java如何使用Mockito。是否验证对象?   Spring MVC Java配置   Android上webRTC时的java音频噪声监听器   我可以部署java。wso2dss上的汽车应用程序(SynapseMeditor和RESTAPI)?   java有没有“简单”的方法来使用protobuf for JavaFX?   尝试从keyVault获取密钥时,ApplicationTokenCredential中出现java Azure NoSuchMethodExist错误   java Spark与ElasticSearch的集成   java在MySQL数据库中已有数据模型时创建实体   java可能的编码错误[I@24e11c   java更新中心和Web应用程序的数据库更改管理   在Android中,java无法使用凌空库从MySQL数据库中选择数据   java如何转换清单。用于apk的xml到二进制文件,并在安卓中编程   JAVAFX:为什么等待游标需要一个新线程?   java无法使用cmis中的版本更新文档   java Struts2验证行为怪异   java如何使用REST Assured自动获取承载令牌   JavaEclipseSWT:gcStringExtent为同一字符串返回不同的值   java Hibernate ResultTransformer返回所有空值的映射