Good morning guys, I have problem in C# coding where my scope is in data mining of association rules....below are description of my problem....can yours give me where my mistakes that should i fix it...i can find item support for 1-itemset but failed to find item support for k-itemset......i seek help from advance...
======================================================
46 31 9 25 12 45 33
25 12 28 36 38
25 12 9 36 38
12 9 36 25 28 34
36 9 12 16 25 28 44
12 25 28 16 21
11 36 25 12 45 44
46 25 12 9 16 28 44
28 17 32 44 12
31 44 32 28 9
--> this is a dataset that i ake it as my experiments
=====================================================
int size = -1;
string output = "";
string output1 = "";
string output2 = "";
string text = File.ReadAllText(@"C:\Users\ACER\Desktop\Apriori Demo\UCI
dataset\sample.txt"); //D:\PITA\projek\nursery.txt
size = text.Length;
string b;
b = text.Replace("\r\n", " ");
output += b;
string[] c = output.Split(' ');
List<String> cc = new List<String>(c);
cc.Sort();
var fr = cc.GroupBy(n => n).Select(n => new { Value = n.Key, Count =
n.Count() });
foreach (var f in fr)
{
string text2 = (string.Format("{0} : {1}/10 : {2}%", f.Value, f.Count,
(f.Count/f.Count)*100));
output1 += text2 + "\n" ;
}
richTextBox4.Text = output1;
--> this is c# coding for 1-itemset....and its work!!
=====================================================
Output:
11 : 1/10 : 100%
12 : 9/10 : 100%
16 : 3/10 : 100%
17 : 1/10 : 100%
21 : 1/10 : 100%
25 : 8/10 : 100%
28 : 7/10 : 100%
31 : 2/10 : 100%
32 : 2/10 : 100%
33 : 1/10 : 100%
34 : 1/10 : 100%
36 : 5/10 : 100%
38 : 2/10 : 100%
44 : 5/10 : 100%
45 : 2/10 : 100%
46 : 2/10 : 100%
9 : 6/10 : 100%
--> this is output for 1-itemset....
======================================================
below are combination itemset code where i can find what itemset combination but im stuck when to find it itemsupport for combination data
lbCombinations.Items.Clear();
int n = richTextBox4.Lines.Length;
int k = 2;
Combination c = new Combination(n, k);
string[] result = new string[k];
string output1 = "";
while (c != null)
{
result = c.ApplyTo(richTextBox7.Lines);
StringBuilder sb = new StringBuilder();
sb.Append("{ ");
for (int i = 0; i < result.Length; ++i)
{
List<String> ccc = new List<String>(result);
ccc.Sort();
var fru = ccc.GroupBy(m => n).Select(m => new { Value = m.Key,
Count = m.Count(), Key = m.Key, Min = m.Min(), Max =
m.Max() });
foreach (var f in fru)
{
sb.AppendFormat("{0} ", result[i]);
}
}
sb.Append("}: ");
for (int i = 0; i < 1; ++i)
{
List<String> ccc = new List<String>(result);
ccc.Sort();
var fru = ccc.GroupBy(m => m).Select(m => new { Value = m.Key,
Count = m.Count(), Key = m.Key, Min = m.Min(), Max =
m.Max() });
foreach(var f in fru)
{
sb.AppendFormat("{0}", f.Key);
}
}
lbCombinations.Items.Add(sb.ToString());
c = c.Successor();
}
======================================================
this is output for combination itemset...
p/s: its successfully generated combination itemset but the item support i failed get it... :(
{11 12} : 11 12
{11 16} : 11 16
{11 17} : 11 17
{11 21} : 11 21
{11 25} : 11 25
{11 28} : 11 28
{11 31} : 11 31
{11 32} : 11 32
{11 34} : 11 34
{11 36} : 11 36
{11 38} : 11 38
....
....
....
{46 9 } : 46 9
=====================================================
where, its must produce output like this......
{11 12} : 1/10
{11 16} : 0/10
{11 17} : 0/10
{11 21} : 0/10
{11 25} : 1/10
{11 28} : 0/10
{11 31} : 0/10
{11 32} : 0/10
{11 34} : 0/10
{11 36} : 1/10
{11 38} : 0/10
....
....
....
{46 9 } : 2/10
======================================================
i hope guts can give me a way to solve this problem....thank you....sorry for any convenience...