[C#]K均值聚类

写完了怕丢了,放在这里。不过写的不是很好,没有进行过优化~~

 

 

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Collections;

 

namespace Similarity

{

    class myClusterFun

    {

        public static int[][] CluEntran(int[][] HashArr, int NumberOfCenter)//聚类的函数的入口

        {

            //程序的初始化及参数的设定

            int LoopTimesThres = 300;//设置最大的循环次数

            int LoopTimes = 0;//循环次数

            int JudgeConverg = 1;//记录是否收敛

            int NumberOfDoc = HashArr.Length;//待比较的对象的数量

            int AveCenterGap=0;

            int LastAveCenterGap = 0;

            int ConverCount = 0;

            ArrayList ClusterResult = new ArrayList();//存储每次聚类结果

            ArrayList NewCenter = new ArrayList();//存储每次聚类的新中心

            ArrayList CenterGap = new ArrayList();//存储每次聚类中心的偏差

            int[][] SingleClusterResult = new int[NumberOfCenter][];//暂存每次聚类的结果

            int[][] SingleNewCenter = new int[NumberOfCenter][];//暂存每次聚类后形成的新的中心

            int[][] SingleLastCenter = new int[NumberOfCenter][];//暂存每次聚类后形成的新的中心

            int[] SingleCenterGap = new int[NumberOfCenter];//暂存每次聚类后中心的偏差情况

            //初始化:确定初始中心

            for (int i = 0; i < NumberOfCenter; i++)

            {

                SingleLastCenter[i] = new int[HashArr[0].Length];

                SingleNewCenter[i] = new int[HashArr[0].Length];

            }

            int[] TempRec = new int[NumberOfCenter];

            TempRec=InitialFunc(NumberOfCenter, NumberOfDoc);

            for (int i = 0; i < NumberOfCenter; i++)

  

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值