项目作者: chausner

项目描述 :
Library for reading and writing Weka attribute-relation file format (ARFF) files
高级语言: C#
项目地址: git://github.com/chausner/ArffTools.git
创建时间: 2016-08-03T23:13:42Z
项目社区:https://github.com/chausner/ArffTools

开源协议:MIT License

下载


ArffTools

.NET library for reading and writing Weka attribute-relation file format (ARFF) files

NuGet
license

Features

  • Read and write ARFF files
  • Supports relational attributes
  • Supports sparse instances
  • Supports instance weights
  • Proper quoting and escaping of special characters

Usage

Reading ARFF files:

  1. using (ArffReader arffReader = new ArffReader("glass.arff"))
  2. {
  3. ArffHeader header = arffReader.ReadHeader();
  4. object[] instance;
  5. while ((instance = arffReader.ReadInstance()) != null)
  6. {
  7. // process instance
  8. }
  9. }

Reading all instances at a time:

  1. object[][] instances = arffReader.ReadAllInstances();

Writing ARFF files:

  1. using (ArffWriter arffWriter = new ArffWriter("iris.arff"))
  2. {
  3. arffWriter.WriteRelationName("iris");
  4. arffWriter.WriteAttribute(new ArffAttribute("sepallength", ArffAttributeType.Numeric));
  5. arffWriter.WriteAttribute(new ArffAttribute("sepalwidth", ArffAttributeType.Numeric));
  6. arffWriter.WriteAttribute(new ArffAttribute("petallength", ArffAttributeType.Numeric));
  7. arffWriter.WriteAttribute(new ArffAttribute("petalwidth", ArffAttributeType.Numeric));
  8. arffWriter.WriteAttribute(new ArffAttribute("class", ArffAttributeType.Nominal("Iris-setosa", "Iris-versicolor", "Iris-virginica")));
  9. arffWriter.WriteInstance(new object[] { 5.1, 3.5, 1.4, 0.2, 0 });
  10. }

Instances are represented as object[] whose elements correspond to the attribute values. ARFF attribute types are mapped to .NET types as follows:

ARFF attribute type .NET type
numeric, integer, real double
nominal int
string string
date DateTime
relational object[][]

Missing values are represented as null. Sparse instances are represented as normal instances in memory.