public object Clone() { var symptom = new SymptomModel(Length); Symptom.CopyTo(symptom.Symptom, 0); return(symptom); }
/// <summary> /// Eucleides metric /* Cosine similatiry */ /// </summary> public double Distance(SymptomModel symptom) { var sum = 0d; for (var index = 0; index < Length; index++) { sum += Math.Pow(Symptom[index] - symptom.Symptom[index], 2); } return(Math.Sqrt(sum)); //var dotProduct = DotProduct(Symptom, symptom.Symptom); //var thisSymptomMagnitude = Math.Sqrt(DotProduct(Symptom, Symptom)); //var otherSymptomMagnitude = Math.Sqrt(DotProduct(symptom.Symptom, symptom.Symptom)); //return dotProduct / (thisSymptomMagnitude * otherSymptomMagnitude); }