資源簡介
自己剛完成的對鳶尾花數(shù)據(jù)進行聚類,和大家分享一下,具體的講解都在README里面,大家可以看一下
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
using?System.IO;
namespace?Max_Min_Iris
{
????public?partial?class?Form1?:?Form
????{
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????int?counter?=?0;
????????int?center?=?0;//聚類中心的個數(shù)
????????List?Iris?=?new?List();//存儲所有鳶尾花數(shù)據(jù)
????????List?centerType?=?new?List();//存儲聚類中心
????????///使用最大最小距離方法進行聚類
????????private?int?ClusteringMaxMin()
????????{
????????????///生成一個隨機數(shù)///
????????????Random?rr?=?new?Random();
????????????int?rando1?=?rr.Next(counter);//隨機生成第一個聚類中心
????????????iris?Iris1?=?new?iris();
????????????Iris1?=?(iris)Iris[rando1].Clone();
????????????centerType.Add(Iris1);//添加第一個聚類中心
????????????center?=?1;
????????????iris?CenterIris?=?new?iris();//用來存中心的對象
????????????///找出距離第一個中心最遠(yuǎn)的點///
????????????int?nMaxDistanceIndex?=?-1;
????????????uint?nDistance?=?0;
????????????uint?nMaxDistance?=?0;
????????????int?i?=?-1;
????????????foreach?(iris?Data?in?Iris)
????????????{
????????????????i++;
????????????????nDistance?=?GetManhattanDistance(Data?Iris1);
????????????????if?(nDistance?>?nMaxDistance)
????????????????{
????????????????????nMaxDistance?=?nDistance;
????????????????????nMaxDistanceIndex?=?i;
????????????????}
????????????}
????????????if?(nMaxDistanceIndex?>=?0)
????????????{
????????????????CenterIris?=?(iris)Iris[nMaxDistanceIndex].Clone();
????????????????centerType.Add(CenterIris);///添加第二個聚類中心
????????????}
????????????center?=?2;
????????????///尋找剩余的聚類中心
????????????///尋找每個對象到聚類中心的距離的最小值
????????????while?(1?!=?0)
????????????{
????????????????List?Min_Iris?=?new?List();//存儲每個對象到聚類中心的最小值
????????????????foreach?(iris?Data?in?Iris)
????????????????{
????????????????????uint?nMinDistance?=?uint.MaxValue;
????????????????????foreach?(iris?CenterData?in?centerType)
????????????????????{
????????????????????????nDistance?=?GetManhattanDistance(Data?CenterData);
????????????????????????if?(nMinDistance?>?nDistance)
????????????????????????{
????????????????????????????nMinDistance?=?nDistance;
????????????????????????}
????????????????????}
????????????????????Min_Iris.Add(nMinDistance);
????????????????}
????????????????////MAX_MIN
????????????????uint?Max_Dis?=?0;
????????????????int?j?=?0;
????????????????int?Max_Dis_Index?=?-1;
????????????????foreach?(uint?isdata?in?Min_Iris)
????????????????{
????????????????????if?(isdata?>?Max_Dis)
????????????????????{
????????????????????????Max_Dis?=?isdata;
????????????????????????Max_Dis_Index?=?j;
????????????????????}
????????????????????j++;
????????????????}
????????????????if?(Max_Dis?>?nMaxDistance?/?3)
????????????????{
????????????????????CenterIris?=?(iris)Iris[Max_Dis_Index].Clone();
???????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4700??2010-04-09?17:03??Max_Min_Iris最終\iris.txt
?????文件??????12800??2010-07-01?21:08??Max_Min_Iris最終\Max_Min_Iris\bin\Debug\Max_Min_Iris.exe
?????文件??????32256??2010-07-01?21:08??Max_Min_Iris最終\Max_Min_Iris\bin\Debug\Max_Min_Iris.pdb
?????文件??????14328??2010-07-01?21:24??Max_Min_Iris最終\Max_Min_Iris\bin\Debug\Max_Min_Iris.vshost.exe
?????文件????????490??2007-07-21?01:33??Max_Min_Iris最終\Max_Min_Iris\bin\Debug\Max_Min_Iris.vshost.exe.manifest
?????文件???????4690??2010-07-01?21:07??Max_Min_Iris最終\Max_Min_Iris\bin\Debug\聚類結(jié)果.txt
?????文件???????7176??2010-07-01?21:08??Max_Min_Iris最終\Max_Min_Iris\Form1.cs
?????文件???????6462??2010-07-01?21:07??Max_Min_Iris最終\Max_Min_Iris\Form1.Designer.cs
?????文件???????6216??2010-07-01?21:07??Max_Min_Iris最終\Max_Min_Iris\Form1.resx
?????文件???????1010??2010-07-01?21:03??Max_Min_Iris最終\Max_Min_Iris\iris.cs
?????文件???????3770??2010-07-01?21:03??Max_Min_Iris最終\Max_Min_Iris\Max_Min_Iris.csproj
?????文件???????1587??2010-07-01?21:24??Max_Min_Iris最終\Max_Min_Iris\obj\Debug\Max_Min_Iris.csproj.FileListAbsolute.txt
?????文件????????847??2010-07-01?21:07??Max_Min_Iris最終\Max_Min_Iris\obj\Debug\Max_Min_Iris.csproj.GenerateResource.Cache
?????文件??????12800??2010-07-01?21:08??Max_Min_Iris最終\Max_Min_Iris\obj\Debug\Max_Min_Iris.exe
?????文件????????180??2010-07-01?21:07??Max_Min_Iris最終\Max_Min_Iris\obj\Debug\Max_Min_Iris.Form1.resources
?????文件??????32256??2010-07-01?21:08??Max_Min_Iris最終\Max_Min_Iris\obj\Debug\Max_Min_Iris.pdb
?????文件????????180??2010-07-01?21:03??Max_Min_Iris最終\Max_Min_Iris\obj\Debug\Max_Min_Iris.Properties.Resources.resources
?????文件????????493??2010-07-01?20:54??Max_Min_Iris最終\Max_Min_Iris\Program.cs
?????文件???????1380??2010-07-01?20:54??Max_Min_Iris最終\Max_Min_Iris\Properties\AssemblyInfo.cs
?????文件???????2874??2010-07-01?20:54??Max_Min_Iris最終\Max_Min_Iris\Properties\Resources.Designer.cs
?????文件???????5612??2010-07-01?20:54??Max_Min_Iris最終\Max_Min_Iris\Properties\Resources.resx
?????文件???????1097??2010-07-01?20:54??Max_Min_Iris最終\Max_Min_Iris\Properties\Settings.Designer.cs
?????文件????????249??2010-07-01?20:54??Max_Min_Iris最終\Max_Min_Iris\Properties\Settings.settings
?????文件????????926??2010-07-01?20:54??Max_Min_Iris最終\Max_Min_Iris.sln
????..A..H.?????17408??2010-07-01?21:25??Max_Min_Iris最終\Max_Min_Iris.suo
?????文件??????28160??2010-07-01?21:34??Max_Min_Iris最終\READ?ME.doc
?????目錄??????????0??2010-07-01?20:59??Max_Min_Iris最終\Max_Min_Iris\obj\Debug\Refactor
?????目錄??????????0??2010-07-01?20:54??Max_Min_Iris最終\Max_Min_Iris\obj\Debug\TempPE
?????目錄??????????0??2010-07-01?21:04??Max_Min_Iris最終\Max_Min_Iris\bin\Debug
?????目錄??????????0??2010-07-01?21:08??Max_Min_Iris最終\Max_Min_Iris\obj\Debug
............此處省略8個文件信息
評論
共有 條評論