/// <summary> /// Learn the distribution. /// </summary> /// <param name="hmm">The HMM.</param> private void LearnOpdf(HiddenMarkovModel hmm) { for (int i = 0; i < hmm.StateCount; i++) { ICollection <IMLDataPair> clusterObservations = _clusters .Cluster(i); if (clusterObservations.Count < 1) { IStateDistribution o = _modelHmm.CreateNewDistribution(); hmm.StateDistributions[i] = o; } else { var temp = new BasicMLDataSet(); foreach (IMLDataPair pair in clusterObservations) { temp.Add(pair); } hmm.StateDistributions[i].Fit(temp); } } }