⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scalablekmeans.h

📁 Scalable k-means software and test datasets This package (a Unix tar file, gzipped) contains the sou
💻 H
字号:
/* Scalable K-means clustering softwareCopyright (C) 2000  Fredrik Farnstrom and James LewisThis program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.See the file README.TXT for more information.*//* scalablekmeans.h */class Database;class Subcluster;class MainCluster;class Singleton;class SyntheticData;struct ClusterNode{	float distance;	Singleton *point;	static int compareDistance(const void *a, const void *b);};class ScalableKMeans{	RAMBuffer buffer;	Database *database;	int numClusters;	float beta;	float convergenceThreshold;	float secondaryConvergenceThreshold;	float discardFraction;	float confidenceStdDev;	int numNewSecondaryClusters;	long numMainIterations;	long numSecondaryIterations;	long numUpdates;	int primary1:1, primary2:1, secondary:1, naive:1;	static const float defaultBeta = 1.1;	static const float defaultConvergenceThreshold = 0.0001;	static const float defaultSecondaryCT = 0.0001;	static const float defaultDiscardFraction = 0.2;	static const float defaultConfidenceStdDev = 3.4;//	static const float defaultConfidenceStdDev = 3.7;//	static const float defaultConfidenceStdDev = 3.1;	MainCluster *mainClusters;	Subcluster *oldClusters;	void setup(void);	void initModel(void);	int fillBuffer(void);	void naiveCompression(void);	void primaryCompression(void);	void secondaryCompression(void);	void exportCompressedSet(void);	int updateModel(void);	Subcluster *closestMainCluster(Singleton *p);	Subcluster *closestMainCluster(Subcluster *c);	double permutationDistance(int *permut, SyntheticData *db);	FILE *logFile;public:	ScalableKMeans(long bufferSize, Database *db, int k, int dim);	~ScalableKMeans();	void cluster(void);	double logLikelihood(void);	double distanceToTrueClusters(SyntheticData *db);	void lesion(int p1, int p2, int s, int n)	{	primary1 = p1;		primary2 = p2;		secondary = s;		naive = n;	}	float mainIterations(void)	{	return ((float)numMainIterations)/numUpdates;	}	float secondaryIterations(void)	{	return ((float)numSecondaryIterations)/numUpdates;	}	void setConstants(float newbeta, float newct, float newsct, float newdf,			float newcsd)	{	beta = newbeta;		convergenceThreshold = newct;		secondaryConvergenceThreshold = newsct;		discardFraction = newdf;		confidenceStdDev = newcsd;	}	long getNumPoints(void)	{	return buffer.getTotalPoints();	}	void logUpdates(char *filename);};/* End of file scalablekmeans.h */

⌨️ 快捷键说明

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