⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdicore.cs

📁 Cluster validation program
💻 CS
字号:
using System;
using System.Collections;

namespace ClusterLibrary
{
	/// <summary>
	/// SD Index甫 拌魂 秦 林绰 努贰胶
	/// </summary>
	public class SDICore
	{
		double aValue;
		bool isSetaValue = false;
		public SDICore(){
		}

		public double Scat( Set clusters ){
			double nCluster = clusters.Count;
			Point varClusterPoint;
			Point varSetPoint;
			double dVarCluster = 0.0;
			double dVarSet = 0.0;
			double result = 0.0;

			for ( int i = 0; i < clusters.Count; i++ ){
				varClusterPoint = Utilities.Variance ((Cluster)clusters[i]);
				dVarCluster += Utilities.Distance( varClusterPoint );
			}
			varSetPoint = Utilities.Variance(clusters);
			dVarSet = Utilities.Distance( varSetPoint );

			result = (1.0 / nCluster) * dVarCluster / dVarSet;
			return result;
		}

		public double Dis( Set clusters ){
			ArrayList distanceList = Utilities.InterclusterDistance( clusters );
			double max = Utilities.Max( distanceList );
			double min = Utilities.Min( distanceList );
			double result = 0.0;

			double temp;
			for ( int i = 0; i < clusters.Count ; i++ ){
				temp = 0.0;
				for ( int j = 0; j < clusters.Count ; j ++ ){
					temp += Utilities.Distance( (Cluster)clusters[i], (Cluster)clusters[j] );
				}
				result += (1.0 / temp);
			}
			return result * max / min;
		}

		public double a( Set clusters ){
			return Dis( clusters );
		}

		public void SetA( Set clusters ){
			this.aValue = a( clusters );
			this.isSetaValue = true;
		}

		public double SDI( Set clusters ){
			if ( this.isSetaValue == false ) {
				System.Windows.Forms.MessageBox.Show("a 蔼阑 汲沥秦 林技夸"); 
				return 0.0;
			}
			return  this.aValue * this.Scat( clusters ) + this.Dis( clusters );
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -