使用K-Means 算法进行聚类分析程序
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/29 22:49:46
使用K-Means 算法进行聚类分析程序
编程对以下数据(150 个样本)使用K-Means 算法进行聚类分析.
(4.8,3.1,1.6,0.2),
(5.4,3.4,1.5,0.4),
(5.2,4.1,1.5,0.1),
(5.5,4.2,1.4,0.2),
(4.9,3.1,1.5,0.2),
(5.0,3.2,1.2,0.2),
(5.5,3.5,1.3,0.2),
(4.9,3.6,1.4,0.1),
(4.4,3.0,1.3,0.2),
(5.1,3.4,1.5,0.2),
(5.0,3.5,1.3,0.3),
(4.5,2.3,1.3,0.3),
(4.4,3.2,1.3,0.2),
(5.0,3.5,1.6,0.6),
(5.1,3.8,1.9,0.4),
(4.8,3.0,1.4,0.3),
(5.1,3.8,1.6,0.2),
(4.6,3.2,1.4,0.2),
(5.3,3.7,1.5,0.2),
(5.0,3.3,1.4,0.2),
(7.0,3.2,4.7,1.4),
(6.4,3.2,4.5,1.5),
(6.9,3.1,4.9,1.5),
(5.5,2.3,4.0,1.3),
(6.5,2.8,4.6,1.5),
(5.7,2.8,4.5,1.3),
(6.3,3.3,4.7,1.6),
(4.9,2.4,3.3,1.0),
(6.6,2.9,4.6,1.3),
(5.2,2.7,3.9,1.4),
(5.0,2.0,3.5,1.0),
(5.9,3.0,4.2,1.5),
(6.0,2.2,4.0,1.0),
(6.1,2.9,4.7,1.4),
(5.6,2.9,3.9,1.3),
(6.7,3.1,4.4,1.4),
(5.6,3.0,4.5,1.5),
(5.8,2.7,4.1,1.0),
(6.2,2.2,4.5,1.5),
(5.6,2.5,3.9,1.1),
(5.9,3.2,4.8,1.8),
(6.1,2.8,4.0,1.3),
(6.3,2.5,4.9,1.5),
(6.1,2.8,4.7,1.2),
(6.4,2.9,4.3,1.3),
(6.6,3.0,4.4,1.4),
(6.8,2.8,4.8,1.4),
(6.7,3.0,5.0,1.7),
(6.0,2.9,4.5,1.5),
(5.7,2.6,3.5,1.0),
(5.5,2.4,3.8,1.1),
(5.5,2.4,3.7,1.0),
(5.8,2.7,3.9,1.2),
(6.0,2.7,5.1,1.6),
(5.4,3.0,4.5,1.5),
(6.0,3.4,4.5,1.6),
(6.7,3.1,4.7,1.5),
(6.3,2.3,4.4,1.3),
(5.6,3.0,4.1,1.3),
(5.5,2.5,5.0,1.3),
(5.5,2.6,4.4,1.2),
(6.1,3.0,4.6,1.4),
(5.8,2.6,4.0,1.2),
(5.0,2.3,3.3,1.0),
(5.6,2.7,4.2,1.3),
(5.7,3.0,4.2,1.2),
(5.7,2.9,4.2,1.3),
(6.2,2.9,4.3,1.3),
(5.1,2.5,3.0,1.1),
(5.7,2.8,4.1,1.3),
(6.3,3.3,6.0,2.5),
(5.8,2.7,5.1,1.9),
(7.1,3.0,5.9,2.1),
(6.3,2.9,5.6,1.8),
(6.5,3.0,5.8,2.2),
(7.6,3.0,6.6,2.1),
(4.9,2.5,4.5,1.7),
(7.3,2.9,6.3,1.8),
(6.7,2.5,5.8,1.8),
(7.2,3.6,6.1,2.5),
(6.5,3.2,5.1,2.0),
(6.4,2.7,5.3,1.9),
(6.8,3.0,5.5,2.1),
(5.7,2.5,5.0,2.0),
(5.8,2.8,5.1,2.4),
(6.4,3.2,5.3,2.3),
(6.5,3.0,5.5,1.8),
(7.7,3.8,6.7,2.2),
(7.7,2.6,6.9,2.3),
(6.0,2.2,5.0,1.5),
(6.9,3.2,5.7,2.3),
(5.6,2.8,4.9,2.0),
(7.7,2.8,6.7,2.0),
(6.3,2.7,4.9,1.8),
(6.7,3.3,5.7,2.1),
(7.2,3.2,6.0,1.8),
(6.2,2.8,4.8,1.8),
(6.1,3.0,4.9,1.8),
(6.4,2.8,5.6,2.1),
(7.2,3.0,5.8,1.6),
(7.4,2.8,6.1,1.9),
(7.9,3.8,6.4,2.0),
(6.4,2.8,5.6,2.2),
(6.3,2.8,5.1,1.5),
(6.1,2.6,5.6,1.4),
(7.7,3.0,6.1,2.3),
(6.3,3.4,5.6,2.4),
(6.4,3.1,5.5,1.8),
(6.0,3.0,4.8,1.8),
(6.9,3.1,5.4,2.1),
(6.7,3.1,5.6,2.4),
(6.9,3.1,5.1,2.3),
(5.8,2.7,5.1,1.9),
(6.8,3.2,5.9,2.3),
(6.7,3.3,5.7,2.5),
(6.7,3.0,5.2,2.3),
(6.3,2.5,5.0,1.9),
(6.5,3.0,5.2,2.0),
(6.2,3.4,5.4,2.3),
(5.9,3.0,5.1,1.8)
编程对以下数据(150 个样本)使用K-Means 算法进行聚类分析.
(4.8,3.1,1.6,0.2),
(5.4,3.4,1.5,0.4),
(5.2,4.1,1.5,0.1),
(5.5,4.2,1.4,0.2),
(4.9,3.1,1.5,0.2),
(5.0,3.2,1.2,0.2),
(5.5,3.5,1.3,0.2),
(4.9,3.6,1.4,0.1),
(4.4,3.0,1.3,0.2),
(5.1,3.4,1.5,0.2),
(5.0,3.5,1.3,0.3),
(4.5,2.3,1.3,0.3),
(4.4,3.2,1.3,0.2),
(5.0,3.5,1.6,0.6),
(5.1,3.8,1.9,0.4),
(4.8,3.0,1.4,0.3),
(5.1,3.8,1.6,0.2),
(4.6,3.2,1.4,0.2),
(5.3,3.7,1.5,0.2),
(5.0,3.3,1.4,0.2),
(7.0,3.2,4.7,1.4),
(6.4,3.2,4.5,1.5),
(6.9,3.1,4.9,1.5),
(5.5,2.3,4.0,1.3),
(6.5,2.8,4.6,1.5),
(5.7,2.8,4.5,1.3),
(6.3,3.3,4.7,1.6),
(4.9,2.4,3.3,1.0),
(6.6,2.9,4.6,1.3),
(5.2,2.7,3.9,1.4),
(5.0,2.0,3.5,1.0),
(5.9,3.0,4.2,1.5),
(6.0,2.2,4.0,1.0),
(6.1,2.9,4.7,1.4),
(5.6,2.9,3.9,1.3),
(6.7,3.1,4.4,1.4),
(5.6,3.0,4.5,1.5),
(5.8,2.7,4.1,1.0),
(6.2,2.2,4.5,1.5),
(5.6,2.5,3.9,1.1),
(5.9,3.2,4.8,1.8),
(6.1,2.8,4.0,1.3),
(6.3,2.5,4.9,1.5),
(6.1,2.8,4.7,1.2),
(6.4,2.9,4.3,1.3),
(6.6,3.0,4.4,1.4),
(6.8,2.8,4.8,1.4),
(6.7,3.0,5.0,1.7),
(6.0,2.9,4.5,1.5),
(5.7,2.6,3.5,1.0),
(5.5,2.4,3.8,1.1),
(5.5,2.4,3.7,1.0),
(5.8,2.7,3.9,1.2),
(6.0,2.7,5.1,1.6),
(5.4,3.0,4.5,1.5),
(6.0,3.4,4.5,1.6),
(6.7,3.1,4.7,1.5),
(6.3,2.3,4.4,1.3),
(5.6,3.0,4.1,1.3),
(5.5,2.5,5.0,1.3),
(5.5,2.6,4.4,1.2),
(6.1,3.0,4.6,1.4),
(5.8,2.6,4.0,1.2),
(5.0,2.3,3.3,1.0),
(5.6,2.7,4.2,1.3),
(5.7,3.0,4.2,1.2),
(5.7,2.9,4.2,1.3),
(6.2,2.9,4.3,1.3),
(5.1,2.5,3.0,1.1),
(5.7,2.8,4.1,1.3),
(6.3,3.3,6.0,2.5),
(5.8,2.7,5.1,1.9),
(7.1,3.0,5.9,2.1),
(6.3,2.9,5.6,1.8),
(6.5,3.0,5.8,2.2),
(7.6,3.0,6.6,2.1),
(4.9,2.5,4.5,1.7),
(7.3,2.9,6.3,1.8),
(6.7,2.5,5.8,1.8),
(7.2,3.6,6.1,2.5),
(6.5,3.2,5.1,2.0),
(6.4,2.7,5.3,1.9),
(6.8,3.0,5.5,2.1),
(5.7,2.5,5.0,2.0),
(5.8,2.8,5.1,2.4),
(6.4,3.2,5.3,2.3),
(6.5,3.0,5.5,1.8),
(7.7,3.8,6.7,2.2),
(7.7,2.6,6.9,2.3),
(6.0,2.2,5.0,1.5),
(6.9,3.2,5.7,2.3),
(5.6,2.8,4.9,2.0),
(7.7,2.8,6.7,2.0),
(6.3,2.7,4.9,1.8),
(6.7,3.3,5.7,2.1),
(7.2,3.2,6.0,1.8),
(6.2,2.8,4.8,1.8),
(6.1,3.0,4.9,1.8),
(6.4,2.8,5.6,2.1),
(7.2,3.0,5.8,1.6),
(7.4,2.8,6.1,1.9),
(7.9,3.8,6.4,2.0),
(6.4,2.8,5.6,2.2),
(6.3,2.8,5.1,1.5),
(6.1,2.6,5.6,1.4),
(7.7,3.0,6.1,2.3),
(6.3,3.4,5.6,2.4),
(6.4,3.1,5.5,1.8),
(6.0,3.0,4.8,1.8),
(6.9,3.1,5.4,2.1),
(6.7,3.1,5.6,2.4),
(6.9,3.1,5.1,2.3),
(5.8,2.7,5.1,1.9),
(6.8,3.2,5.9,2.3),
(6.7,3.3,5.7,2.5),
(6.7,3.0,5.2,2.3),
(6.3,2.5,5.0,1.9),
(6.5,3.0,5.2,2.0),
(6.2,3.4,5.4,2.3),
(5.9,3.0,5.1,1.8)
你这是四维数据,我这是一维数据kmeans,你试试吧
#include
#include
#include
#include
using namespace std;
int N; //数据个数
int K; //集合个数
int *CenterIndex; //质心索引集合,即属于第几个参考点
double *Center; //质心集合
double *CenterCopy;
double *DataSet;
double **Cluster;
int *Top;
/*算法描述:
C-Fuzzy均值聚类算法采用的是给定类的个数K,将N个元素(对象)分配到K个类中去使得类内对象之间的相似性最大,而类之间的相似性最小 */
//函数声明部分
void InitData();
void InitCenter();
void CreateRandomArray(int n,int k,int *centerIndex);
void CopyCenter();
void UpdateCluster();
void UpdateCenter();
int GetIndex(double value,double *centerIndex);
void AddtoCluster(int index,double value);
void print();
bool IsEqual(double *center,double *centercopy);
int main()
{
int Flag=1;
InitData();
while(Flag)//无限次循环
{
UpdateCluster();
UpdateCenter();
if(IsEqual(Center,CenterCopy))
{
Flag=0;
}
else
{
CopyCenter();
}
}
print();
getchar();
system("pause");
}
void InitData()
{
int i=0;
int a;
coutN;
coutK;
if(K>N)
{
return;
}
CenterIndex =new int [sizeof(int)];
Center =new double [sizeof(double)*K];
CenterCopy =new double [sizeof(double)*K];
DataSet =new double [sizeof(double)*N];
Cluster =new double* [sizeof(double*)*K];
Top =new int [sizeof(int)*K];
//初始化K个类的集合
for(i=0;i
#include
#include
#include
#include
using namespace std;
int N; //数据个数
int K; //集合个数
int *CenterIndex; //质心索引集合,即属于第几个参考点
double *Center; //质心集合
double *CenterCopy;
double *DataSet;
double **Cluster;
int *Top;
/*算法描述:
C-Fuzzy均值聚类算法采用的是给定类的个数K,将N个元素(对象)分配到K个类中去使得类内对象之间的相似性最大,而类之间的相似性最小 */
//函数声明部分
void InitData();
void InitCenter();
void CreateRandomArray(int n,int k,int *centerIndex);
void CopyCenter();
void UpdateCluster();
void UpdateCenter();
int GetIndex(double value,double *centerIndex);
void AddtoCluster(int index,double value);
void print();
bool IsEqual(double *center,double *centercopy);
int main()
{
int Flag=1;
InitData();
while(Flag)//无限次循环
{
UpdateCluster();
UpdateCenter();
if(IsEqual(Center,CenterCopy))
{
Flag=0;
}
else
{
CopyCenter();
}
}
print();
getchar();
system("pause");
}
void InitData()
{
int i=0;
int a;
coutN;
coutK;
if(K>N)
{
return;
}
CenterIndex =new int [sizeof(int)];
Center =new double [sizeof(double)*K];
CenterCopy =new double [sizeof(double)*K];
DataSet =new double [sizeof(double)*N];
Cluster =new double* [sizeof(double*)*K];
Top =new int [sizeof(int)*K];
//初始化K个类的集合
for(i=0;i
使用K-Means 算法进行聚类分析程序
spss中K-means聚类分析后计算每一类数值的标准差和均值?
spss软件做K-Means Cluster聚类分析的详细操作过程,越清楚越好,
如何用SPSS进行聚类分析
利用IDL编写了k-means算法,对遥感图像进行分类,然后如何对不同的类别赋予不同的颜色显示图像?
算法程序
如何判断聚类算法图像分割结果的质量,在K-means和FCM 算法下
用SPSS19进行聚类分析时,怎么生成R型聚类分析谱系图,和Q型聚类分析谱系图,
跪求matlab程序:用插值算法的 双线性插值算法 与 双三次插值算法 进行图像放大 放大四倍
《K-means算法在遥感分类中的应用》这篇论文谁有?给发一个 急用,
如何用对称矩阵来进行SPSS指标聚类分析
如何编写求K-均值聚类算法的Matlab程序?