kmean.h

来自「kmean算法的c++实现」· C头文件 代码 · 共 70 行

H
70
字号
#include "std.h"
#include "patterns.h"

class Kmean
{
private:
	class Cluster
	{
	private:
		Pattern center;
		vector<int> members;
	public:
		int numOfPatterns;

	public:
		Cluster()
		{
			numOfPatterns = 0;
			members.clear();
		}
		void setCenter(Pattern newCluster)
		{
			this->center = newCluster;
		}

		Pattern getCenter()
		{
			return this->center;
		}

		void addPattern(int i)
		{
			this->members.push_back(i);
			this->numOfPatterns++;
		}

		int getPattern(int i)
		{
			return members[i];
		}

		void clear()
		{
			members.clear();
			this->numOfPatterns = 0;
		}
	};

	



private:
	vector<Kmean::Cluster> clusters;
	Patterns patterns;
	int numOfCluster;

private:
	void initClusters();
	void classifyPattern();
	int getClosestCluster(int i);
	bool caluCenter();
	void saveClusters();
	void display();

public:
	void run();
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?