【问题标题】:Is it possible to pass a character array in weka.core.instance instead of .arff file是否可以在 weka.core.instance 而不是 .arff 文件中传递字符数组
【发布时间】:2017-10-11 22:26:14
【问题描述】:

我正在做一个面部表情识别项目。我在 c# 中使用 weka 库对从 matlab 的 .dll 文件中收集的特征进行分类(集成在 c# 中作为 .Net 程序集)。

weka.core.Instances(new java.io.FileReader("dataset.arff"))

是否可以在上面的代码中读取数组而不是 .arff 文件。

【问题讨论】:

  • 欢迎。请教社区如何在他们自己的计算机上重现您的问题。
  • Shaurabh Bharti 能给我发一份示例代码吗?

标签: c# matlab weka


【解决方案1】:

可以将数组值存储到 .arff 文件中。

要创建它,您可以执行以下操作,

    string[] lines = { "@ATTRIBUTE sepallength  NUMERIC",
   "@ATTRIBUTE sepalwidth   NUMERIC",
   "@ATTRIBUTE petallength  NUMERIC",
   "@ATTRIBUTE petalwidth   NUMERIC",
   "@ATTRIBUTE class        {Iris-setosa,Iris-versicolor,Iris-virginica}",
   "@DATA"};

System.IO.File.WriteAllLines(@"C:\Users\Public\TestFolder\somefile.arff",
lines);

然后对于数据部分,您可以为每一行使用您的数组。

 string[] dataLines = { "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"};

using (System.IO.StreamWriter file = 
                new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\somefile.arff", true))
            {
                foreach (string line in dataLines)
                {
                    file.WriteLine(line);
                }
            }

Here 是 waikato 为 Weka 提供的 .arff 文件的一些指南。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 2015-08-15
    • 2021-04-28
    • 2016-11-04
    • 1970-01-01
    • 2012-09-07
    相关资源
    最近更新 更多