kmeansalgorithm.cpp

来自「k均值聚类的算法」· C++ 代码 · 共 54 行

CPP
54
字号
#include "KMeansCluster.h"
#include "ErrorAnalysis.h"

void ShowHelp()
{
	cout << " KMeansClustering.exe -clusternum -trainingdata -iterationnum -linenumber -output " << endl;
}
void main(int argc, char** argv)
{
	if ( argc != 11 )
	{
		ShowHelp();
		exit(0);
	}
	char* TrainingFileName = NULL;
	char* OutputFileName = NULL;
	int ClusterNum = 0;
	int IterationNum = 0;
	int LineNum = 0;

	for ( int i = 0; i < argc; i++ )
	{
		if ( strcmp(argv[i], "-trainingdata") == 0 )
		{
			TrainingFileName = argv[i + 1];
		}
		if ( strcmp(argv[i], "-clusternum") == 0 )
		{
			ClusterNum = atoi(argv[i + 1]);
		}
		if ( strcmp(argv[i], "-iterationnum") == 0 )
		{
			IterationNum = atoi(argv[i + 1]);
		}
		if ( strcmp(argv[i], "-linenumber") == 0 )
		{
			LineNum = atoi(argv[i + 1]);
		}
		if ( strcmp(argv[i], "-output") == 0 )
		{
			OutputFileName = argv[i + 1];
		}
	}
	if ( !OutputFileName || !TrainingFileName || IterationNum == 0 || ClusterNum == 0 )
	{
		ShowHelp();
		exit(0);
	}
	FILE* TrainingFileP = fopen(TrainingFileName, "r");
	CErrorAnalysis FeatureVectorGen;
	FeatureVectorGen.GenerateErrorArray(TrainingFileP, LineNum);
	fclose(TrainingFileP);
	CKMeansCluster KMean(IterationNum, ClusterNum, FeatureVectorGen.GetFeatureNode(), OutputFileName);
}

⌨️ 快捷键说明

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