//public static double entropy(double inp) //{ // return (-(inp * Math.Log(inp, 2)) - ((1 - inp) * Math.Log((1 - inp), 2))); //} //public static double entropy(disease d,symptom s) //{ // return (d.py) * (d.symptoms.Contains(s.Number)?(entropy((double)1/d.symptoms.Count)):0) + (d.pn) * (d.symptoms.Contains(s.Number) ? entropy(((double)(65-d.symptoms.Count) / (65))) : 0); //} //public static double InformationGain(symptom s,disease d) //{ // return entropy(s.py) - entropy(d,s); //} public static double pck(disease d, symptom s, bool b) { if (b) { if (s.Disease.Contains(d.Num)) { return((double)1 / s.Disease.Count); } else { return(0); } } else { if (s.Disease.Contains(d.Num)) { return(0); } else { return((double)1 / (9 - s.Disease.Count)); } } }
public data(int i, object obj) { if (i == 0) { ic = null; d = null; s = (symptom)obj; } else if (i == 1) { ic = null; s = null; d = (disease)obj; } else if (i == 2) { ic = (ic)obj; s = null; d = null; } else { ic = null; s = null; d = null; } }
public ic CastToIc(disease d) { foreach (ic item in sl) { // Console.WriteLine(item.Name+" "+d.Name); if (item.Name.Length == d.Name.Length) { return(item); } } Console.WriteLine("null"); return(null); }