/// <summary> /// 计算关键属性的依赖度 /// </summary> /// <returns>依赖度集合1-13存储在0-12</returns> public List <double> calDependance() { List <double> keyDependance = new List <double>(); //关键属性的依赖度 int sampleNum = trainCollection.Count; //相似样本个数 //计算决策属性的划分 Depend dec = new Depend(true); for (int j = 0; j < sampleNum; j++)//遍历相似样本,进行属性划分 { dec.addRecord(trainCollection[j][0].ToString(), j); } int keyNum = keyCollection.Count; for (int i = 1; i < keyNum; i++)//遍历属性求出相应的依赖度 { //计算关键属性的划分 Depend depend = new Depend(true); //不考虑属性类型,一律按照文本处理 for (int j = 0; j < sampleNum; j++) //遍历样本,进行属性划分 { depend.addRecord(trainCollection[j][i].ToString(), j); } //求出依赖度 keyDependance.Add(depend.getDependance(dec, sampleNum)); } //for (int i = 0; i < keyDependance.Count; i++) //{ // Console.Write(keyDependance[i].ToString() + " "); //} return(keyDependance); }