我正在开展一个面部表情识别项目。我在c#中使用weka库来分类从matlab的.dll
文件收集的功能(集成在c#中作为.Net程序集)。
weka.core.Instances(new java.io.FileReader("dataset.arff"))
是否有可能在上面的代码中读取数组而不是.arff
文件。
可以将数组值存储到.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文件的一些指南。