当前位置: 首页 > news >正文

网页制作人员培训课程关键词排名优化

网页制作人员培训课程,关键词排名优化,成都疫情最新通告,王野 天启计算数据集中的元素与各个簇的中心的距离&#xff0c;将它赋给最近的簇&#xff0c;然后重新计算每个簇的平均值&#xff0c;再将元素按离平均值点最近的原则重新分配直到没有出现重新分配 该算法要事先给出k的值&#xff0c;即划分为几个簇。 vector<int> datoclu(dat…

 计算数据集中的元素与各个簇的中心的距离,将它赋给最近的簇,然后重新计算每个簇的平均值,再将元素按离平均值点最近的原则重新分配直到没有出现重新分配

该算法要事先给出k的值,即划分为几个簇。

vector<int> datoclu(data.size(), -1);用这个来标记每个数据在哪个簇中。

#include <fstream>
#include <sstream>
#include <vector>
#include <iostream>using namespace std;struct Point
{double x;double y;
};double distance(const Point& a, const Point& b)
{return sqrt(pow(a.x - b.x, 2) + pow(a.y - b.y, 2));
}vector<int> KMeans(vector<Point>& data, int k, int maxIterations)
{vector<Point> centroids(k);for (int i = 0; i < k; i++)          {centroids[i] = data[rand() % data.size()];      //随机选择k个类聚中心。0到(data.size()-1)}vector<int> datoclu(data.size(), -1);           //每个数据属于哪个簇bool flag = 0;while (!flag && maxIterations){flag = 1;for (int i = 0; i < data.size(); i++){double minDis = numeric_limits<double>::max();int index = -1;for (int j = 0; j < centroids.size(); j++){double dis = distance(data[i], centroids[j]);if (dis < minDis){minDis = dis;index = j;}}if (datoclu[i] != index)                //记录每个数据属于的聚类中心{datoclu[i] = index;flag = 0;}}vector<Point> newClu(k);vector<int> num(k, 0);//计算每个簇平均值点for (int i = 0; i < data.size(); i++){newClu[datoclu[i]].x += data[i].x;newClu[datoclu[i]].y += data[i].y;num[datoclu[i]]++;}for (int i = 0; i < k; i++){newClu[i].x /= num[i];newClu[i].y /= num[i];}centroids = newClu;maxIterations--;}return datoclu;
}
vector<Point> ReadData(string filename)
{vector<Point> data;ifstream file(filename);if (file.is_open()){string line;while (getline(file, line)){istringstream iss(line);double x, y;string token;Point point;if (getline(iss, token, ',') && istringstream(token) >> point.x &&getline(iss, token, ',') && istringstream(token) >> point.y) {data.push_back(point);}}}else{cout << "open fail";}file.close();return data;
}int main()
{vector<Point> dataset = ReadData("data.txt");vector<int> clusters;int k, maxIterations;cout << "输入簇的个数和最大迭代次数"<<endl;cin >> k >> maxIterations;clusters= KMeans(dataset, k, maxIterations);vector <vector<int>> index(k);for (int j = 0; j < k; j++){for (int i = 0; i < clusters.size(); i++){if (clusters[i] == j){index[j].push_back(i);}}}for (int i = 0; i < index.size(); i++){cout << "{";for (int j = 0; j < index[i].size(); j++){cout << index[i][j]+1;if (j != index[i].size() - 1){cout << ",";}}cout << "}";}
}    

数据集

1.0, 1.0 
2.0, 1.0 
1.0, 2.0  
2.0, 2.0  
4.0, 3.0  
5.0, 3.0  
4.0, 4.0  
5.0,4.0

运行结果 

http://www.dinnco.com/news/53771.html

相关文章:

  • 黑龙江企业信用信息查询公示系统seo薪资
  • 网站设计毕业设计论文百度推广app
  • wifi已连接(无法上网)合肥优化推广公司
  • 上海交通大学毕业设计网站网站建设制作模板
  • 建设网站的报告网络推广公司主要做什么
  • 视频上传网站如何做网站seo策划方案实例
  • 做网站的服务商怎么做网站
  • 网站优化说明优化大师怎么提交作业
  • 扁平风网站seo系统源码出售
  • app使用什么做的网站网站seo优化软件
  • 福州网站建设设计什么是关键词推广
  • wordpress站点名没有更改北京seo结算
  • 七牛云做wordpress图床何鹏seo
  • 网站建设的主要功能及定位已矣seo排名点击软件
  • 中国空间站完成图百度获客平台怎么收费的
  • 手机网站快速建设百度极速版下载安装
  • 重庆做营销网站建设公司seo是什么级别
  • 做微信封面模板下载网站湖南企业seo优化推荐
  • 男女在床上做暖暖插孔视频网站东莞做网页建站公司
  • 偷拍网站做seo公司哪家好
  • 怎么做网站流量赚钱吗seo的工具有哪些
  • 冷库网站建设毕业论文网站设计与开发
  • 描述政府网站网站建设广西南宁做网站的公司
  • 长沙做最好网站app推广30元一单平台
  • 南京营销型网站建设公司线上宣传渠道和宣传方式
  • 用python做的大型网站产品优化是什么意思
  • 做网站的流程百科网上销售
  • 巴南网站制作外贸谷歌优化
  • 哈尔滨模板建站源码厦门人才网个人版
  • 400电话网站源码东莞关键词排名提升