コード例 #1
0
        /// <summary>
        /// Construct the clusters objects.
        /// </summary>
        /// <param name="k">The number of clusters to have.</param>
        /// <param name="observations">The observations.</param>
        public Clusters(int k, IMLDataSet observations)
        {
            _clustersHash = new Dictionary <IMLDataPair, int>();
            _clusters     = new List <ICollection <IMLDataPair> >();

            IList list = new List <IMLDataPair>();

            foreach (IMLDataPair pair in observations)
            {
                list.Add(pair);
            }
            var kmc = new KMeansUtil <IMLDataPair>(k, list);

            kmc.Process();

            for (int i = 0; i < k; i++)
            {
                ICollection <IMLDataPair> cluster = kmc.Get(i);
                _clusters.Add(cluster);

                foreach (IMLDataPair element in cluster)
                {
                    _clustersHash[element] = i;
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Construct the clusters objects. 
        /// </summary>
        /// <param name="k">The number of clusters to have.</param>
        /// <param name="observations">The observations.</param>
        public Clusters(int k, IMLDataSet observations)
        {
            _clustersHash = new Dictionary<IMLDataPair, int>();
            _clusters = new List<ICollection<IMLDataPair>>();

            IList list = new List<IMLDataPair>();
            foreach (IMLDataPair pair in observations)
            {
                list.Add(pair);
            }
            var kmc = new KMeansUtil<IMLDataPair>(k, list);
            kmc.Process();

            for (int i = 0; i < k; i++)
            {
                ICollection<IMLDataPair> cluster = kmc.Get(i);
                _clusters.Add(cluster);

                foreach (IMLDataPair element in cluster)
                {
                    _clustersHash[element] = i;
                }
            }
        }