- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
K-Means聚类算法C实现
// K-Means算法实现 // K-means 均值算法 本代码使用二维(坐标)聚类 (用结构体实现) // k-means算法简介: // 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足: // 同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。 // 聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。 // 湖南科技大学 2010级计算机学院计一班 1005010124 上传 #includeiostream #includemath.h #includestdlib.h #includestdio.h using namespace std; void InitData(); //数据初始化 void CenterCpy(); //保存久质心 void InitCenter(); //初始化质心 void CpyCenter(); void UpdateCluster(); //更新每一类的数据 void Random(int n, int k, struct Coord *index); //随即取值 int GetPoint(double x, double y, struct Coord *Center); //找出每个数据距离质点最近的质点。 void AddToCluster(int point, double x, double y); //将该数据加入该质点 并且统计该质点包含的数据 void UpdateCenter(); //更新质点中心 int CmpCenter(struct Coord *OldCenter, struct Coord *Center); //比较旧质心和新质心是否相同 void Print(); //输出 int k; //聚类数 int n; //数据数 int *count; //统计每一类的数据个数 struct Coord { double x; double y; }; Coord *DataSet; //保存坐标点数据 Coord *Center; //质心 Coord *OldCenter; //保存旧质心 Coord **Cluster; //保存每一类数据 Coord *Index; //索引 int main() { int flag = 1; InitData(); InitCenter(); while(flag) { UpdateCluster(); UpdateCenter(); if( CmpCenter(OldCenter, Center)) { flag = 0; } else { CenterCpy(); } } Print(); return 0; } void InitData() { double a, b; cout您想要输入多少组数据:; cinn; cout你想要分为多少个聚类:; cink; if(kn || k0 || n=0) { cout输入无效!!endl; exit(1); } Index = new Coord [sizeof(struct Coord *) * k]; //索引点 OldCenter = new Coord [sizeof(struct Coord *) * k]; //保存旧的中心 Center = new Coord [sizeof(struct Coord *) * k]; //质心 DataSet = new struct Coord [sizeof(struct Coord *) * n];//定义结构体数组 保存数据 count = new int [sizeof(int) * n]; //统计每一类的数据个数 Cluster = new struct Coord * [sizeof(struct Coord *) * k];//定义二维结构体数组 分类保存数据 for(int i=0; ik; i++) //将k类中每一类的集合进行初始化 申请空间 { Cluster[i] =new struct Coord [sizeof(struct Coord *)*n]; } cout请输入
您可能关注的文档
最近下载
- 第一章 第一节 物质的分类和转化ppt— 上学期高一化学人教版(2019)必修第一册.pptx VIP
- 浙江省宁波市余姚中学2024-2025学年高二上学期10月月考地理.doc VIP
- 建筑装饰行业数字化转型升级分析报告:2025年现状与未来十年展望.docx
- 拼读小能手(彩色版).pdf VIP
- 国际投资(经管专业)全套教学课件.pptx
- 进化生态学课程-康乐讲授-生态基因组学.pdf VIP
- 标准图集-17J008 挡土墙(重力式、衡重式、悬臂式) 无水印.pdf VIP
- 20220104-兴业证券-高频漫谈.pdf VIP
- 变频器基础知识培训ppt课件完整版.pptx VIP
- 新能源运营商行业深度:新能源全面入市,三大压制因素释放绿电迎反转.pdf VIP
文档评论(0)