好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

用C#实现k均值聚类算法.doc

6页
  • 卖家[上传人]:飞***
  • 文档编号:41613244
  • 上传时间:2018-05-30
  • 文档格式:DOC
  • 文档大小:33.50KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 用用 C#实现实现 k 均值聚类算法均值聚类算法k 均值算法是模式识别的聚分类问题,这是用 C#实现其算法以下是程序源代码:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace KMean_win{/// /// Form1 的摘要说明/// public class Form1 : System.Windows.Forms.Form{/// /// 必需的设计器变量/// private System.ComponentModel.Container components = null;private static int k = 2; //类数,此例题为 2 类private static int total = 20; //点个数private int test = 0;private PointF[] unknown = new PointF[total]; //点数组private int[] type = new int[total]; //每个点暂时的类public PointF[] z = new PointF[k]; //保存新的聚类中心public PointF[] z0 = new PointF[k]; //保存上一次的聚类中心private PointF sum;private int temp = 0;private System.Windows.Forms.TextBox textBox1;private int l = 0; //迭代次数//构造函数,初始化public Form1(){unknown[0]=new Point(0,0);unknown[1]=new Point(1,0);unknown[2]=new Point(0,1);unknown[3]=new Point(1,1);unknown[4]=new Point(2,1);unknown[5]=new Point(1,2);unknown[6]=new Point(2,2);unknown[7]=new Point(3,2);unknown[8]=new Point(6,6);unknown[9]=new Point(7,6);unknown[10]=new Point(8,6);unknown[11]=new Point(6,7);unknown[12]=new Point(7,7);unknown[13]=new Point(8,7);unknown[14]=new Point(9,7);unknown[15]=new Point(7,8);unknown[16]=new Point(8,8);unknown[17]=new Point(9,8);unknown[18]=new Point(8,9);unknown[19]=new Point(9,9);InitializeComponent();test = 0;//选 k 个初始聚类中心 z[i] for(int i=0;i distance(unknown[i],z[j]))temp = j;}type[i] = temp;Console.WriteLine(“经比较后,{0}归为{1}类“,unknown[i],temp);}}//计算两个点的欧式距离private float distance(PointF p1,PointF p2){return((p1.X-p2.X)*(p1.X-p2.X)+ (p1.Y-p2.Y)*(p1.Y-p2.Y));}/// /// 清理所有正在使用的资源。

      /// protected override void Dispose( bool disposing ){if( disposing ){if (components != null) {components.Dispose();}}base.Dispose( disposing );}//程序结构public void main(){Console.WriteLine(“共有如下个未知样本:“);for(int i=0;i

      /// private void InitializeComponent(){this.textBox1 = new System.Windows.Forms.TextBox();this.SuspendLayout();// // textBox1// this.textBox1.Location = new System.Drawing.Point(0, 0);this.textBox1.Multiline = true;this.textBox1.Name = “textBox1“;this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;this.textBox1.Size = new System.Drawing.Size(296, 272);this.textBox1.TabIndex = 0;this.textBox1.Text = ““;// // Form1// this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);this.ClientSize = new System.Drawing.Size(292, 271);this.Controls.Add(this.textBox1);this.Name = “Form1“;this.Text = “Form1“;this.ResumeLayout(false);}#endregion}class entrance{ /// /// 应用程序的主入口点。

      /// [STAThread]static void Main() { Form1 my = new Form1();my.main();Application.Run(new Form1());}}} 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.