private int[] CreateClassesFromDataset(IDataset ds)
{
// create class list from dataset
SortedDictionary<int, int> keymap = new SortedDictionary<int, int>();
for (int i = 0; i < ds.nSamples(); i++)
{
if (!keymap.ContainsKey(ds.Cls(i)))
keymap.Add(ds.Cls(i), 1);
else
keymap[ds.Cls(i)]++;
}
int[] classes = new int[keymap.Count];
keymap.Keys.CopyTo(classes, 0);
// show class counts
Console.WriteLine("Classes counts:");
string showline = "";
int ishow = 0;
for (int i = 0; i < keymap.Count; i++)
{
ishow++;
if (classes[i] >= 32)
showline += String.Format("{0,-9}", String.Format("{0}[{1}]", (char)classes[i], keymap[classes[i]]));
else
showline += String.Format("{0,-9}", String.Format("{0}[{1}]", classes[i], keymap[classes[i]]));
if (ishow % 8 == 0)
{
Console.WriteLine(showline);
showline = "";
}
}
Console.WriteLine(showline);
return classes;
}