/*************************************************************************** Module Name: KMeans History: 2003/10/16 Fei Wang 2013 luxiaoxun ***************************************************************************/ #pragma once #include class KMeans { public: enum InitMode { InitRandom, InitManual, InitUniform, }; KMeans(int dimNum = 1, int clusterNum = 1); ~KMeans(); void SetMean(int i, const double* u) { memcpy(m_means[i], u, sizeof(double) * m_dimNum); } void SetInitMode(int i) { m_initMode = i; } void SetMaxIterNum(int i) { m_maxIterNum = i; } void SetEndError(double f) { m_endError = f; } double* GetMean(int i) { return m_means[i]; } int GetInitMode() { return m_initMode; } int GetMaxIterNum() { return m_maxIterNum; } double GetEndError() { return m_endError; } /* SampleFile: ... LabelFile: