亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? utilities.cs

?? Cluster validation program including Dunn s index, Davies-Bouldin Index and Scat-Dis index.
?? CS
字號:
using System;
using System.Collections;

namespace ClusterLibrary
{
	/// <summary>
	/// Summary description for Utils.
	/// </summary>
	public class Utilities
	{

		//=====================================
		//	Point 葷撈狼 芭府甫 備茄促
		//=====================================

		public static double Distance( Point pt1, Point pt2 ){
			double result = 0;
			
			try {
				double temp = 0;
				for ( int i = 0; i < pt1.Count ; i ++ ){
					temp = (double) pt1[i] - (double) pt2[i];
					result += (temp * temp);
					temp = 0;
				}
			}
			catch ( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
			}

			return System.Math.Sqrt( result );
		}

		//====================================
		//	Point pt1, pt2 狼 芭府甫 t-norm欄肺 備茄促
		//====================================

		public static double Distance( Point pt1, Point pt2, double t ){
			double result = 0;
			
			try {
				double temp = 0;
				for ( int i = 0; i < pt1.Count ; i ++ ){
					temp = System.Math.Abs( (double) pt1[i] - (double) pt2[i] );
					result += System.Math.Pow( temp, t );
					temp = 0;
				}
			}
			catch ( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
			}

			return System.Math.Pow( result, 1.0/t );
		}

		//=====================================
		//	Point狼 農(nóng)扁甫 備茄促
		//=====================================

		public static double Distance( Point pt1 ){
			double result = 0;
			
			try {
				for ( int i = 0; i < pt1.Count ; i ++ ){
					result += (double) pt1[i] * (double) pt1[i];
				}
			}
			catch ( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
			}

			return System.Math.Sqrt( result );		
		}

		public static double Distance( Point pt1, double t ){
			double result	=	0;
			double temp		=	0;

			try {
				for ( int i = 0; i < pt1.Count ; i ++ ){
					temp	=	System.Math.Abs( (double)pt1[i] );
					result += System.Math.Pow( temp, t );
				}
			}
			catch ( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
			}

			return System.Math.Pow( result, 1.0/t );
		}

		//=====================================
		//	Cluster 葷撈狼 芭府甫 備茄促
		//=====================================

		public static double Distance( Cluster cl1, Cluster cl2 ){
			Point pt1 = cl1.Center();
			Point pt2 = cl2.Center();
			return Distance ( pt1, pt2 );
		}

		public static double Distance( Cluster cl1, Cluster cl2, double t ){
			Point pt1 = cl1.Center();
			Point pt2 = cl2.Center();
			return Distance ( pt1, pt2, t );			
		}

		//=====================================
		//	Cluster 郴狼 葛電 Point埃狼 芭府甫 備茄促
		//=====================================

		public static ArrayList IntraclusterDistance( Cluster cl1 ){
			ArrayList resultList = new ArrayList();
			Point pt1;
			Point pt2;
			
			for ( int i = 0; i < cl1.Count; i ++ ){
				pt1 = (Point)cl1[i];
				for ( int j = i + 1; j < cl1.Count; j ++ ){	
					pt2 = (Point)cl1[j];
					resultList.Add( Distance( pt1, pt2 ) );
				}
			}
			return resultList;
		}

		public static ArrayList IntraclusterDistance( Cluster cl1, double t ){
			ArrayList resultList = new ArrayList();
			Point pt1;
			Point pt2;

			for ( int i = 0; i < cl1.Count; i ++ ){
				pt1 = (Point)cl1[i];
				for ( int j = i + 1; j < cl1.Count; j ++ ){
					pt2 = (Point)cl1[2];
					resultList.Add( Distance( pt1, pt2, t ) );
				}
			}
			return resultList;
		}


		//====================================
		//	Variance甫 備茄促
		//====================================

		public static Point Variance( Set clusters ){
			Point center = clusters.Center();
			Point temp;
			Point result = new Point();
			Cluster clTemp;
			int number = 0;

			for ( int i = 0; i < clusters.Count; i++ ){
				clTemp = (Cluster) clusters[i];
				number += clTemp.Count;
				for ( int j = 0; j< clTemp.Count ; j++ ){
					temp = (Point)clTemp[j] - center;
					temp = temp ^ 2;
					result += temp;
				}
			}
	
			return result / (double) number;
		}

		public static Point Variance( Cluster cl ){
			Point result = new Point();
			Point center = cl.Center();
			Point temp;

			for ( int i = 0; i < cl.Count; i ++ ){
				temp = (Point)cl[i] - center;
				temp = temp ^ 2;
				result = temp + result;
			}
			return result / cl.Count ;
		}

		//====================================
		//	葛電 Cluster 嘗府狼 芭府甫 備茄促
		//====================================

		public static ArrayList InterclusterDistance( Set clusters ){
			ArrayList resultList = new ArrayList();
			Point pt1;
			Point pt2;

			for ( int i = 0; i < clusters.Count; i ++ ){
				pt1 = (Point)((Cluster)clusters[i]).Center();
				for ( int j = i + 1; j < clusters.Count; j ++ ){
					pt2 = (Point)((Cluster)clusters[j]).Center();
					resultList.Add( Distance( pt1, pt2 ) );
				}
			}
			return resultList;
		}

		public static ArrayList InterclusterDistance( Set clusters, double t ){
			ArrayList resultList = new ArrayList();
			Point pt1;
			Point pt2;

			for ( int i = 0; i < clusters.Count; i ++ ){
				pt1 = (Point)((Cluster)clusters[i]).Center();
				for ( int j = i + 1; j < clusters.Count; j ++ ){
					pt2 = (Point)((Cluster)clusters[2]).Center();
					resultList.Add( Distance( pt1, pt2, t ) );
				}
			}
			return resultList;
		}

		//=====================================
		//	Max 藹闌 備茄促
		//=====================================
		public static double Max( ArrayList alist ){
			double result = 0;
			try {
				result = (double)alist[0];
				for ( int i = 1; i < alist.Count ; i++ ){
					if ( result < (double)alist[i] )
						result = (double)alist[i];
				}
			}
			catch (System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
			}
			return result;
		}

		public static double Max( double x, double y ){
			if ( x>= y )
				return x;
			else 
				return y;
		}

		//=====================================
		//	Min 藹闌 備茄促 
		//=====================================
		public static double Min( ArrayList alist ){
			double result = 0;
			try {
				result = (double)alist[0];
				for ( int i = 1; i < alist.Count ; i++ ){
					if ( result > (double)alist[i] )
						result = (double)alist[i];
				}
			}
			catch (System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
			}
			return result;
		}

		public static double Min ( double x, double y ){
			if ( x <= y )
				return x;
			else
				return y;
		}

		//======================================
		//	Riqt 藹闌 備茄促
		//======================================
		/// <summary>
		/// DBI 
		/// </summary>
		/// <param name="u"></param>
		/// <param name="i"></param>
		/// <param name="q"></param>
		/// <param name="t"></param>
		/// <returns></returns>
		public static double Riqt ( ClusterLibrary.Set u, int i, int q, int t){
			return 0.0;
		}

		//===================================
		//	Within Cluster distance甫 備茄促
		//===================================
		/// <summary>
		/// DBI
		/// </summary>
		/// <param name="x"></param>
		/// <param name="v"></param>
		/// <param name="q"></param>
		/// <returns></returns>
		public static double withInClusterD( ClusterLibrary.Cluster x, ClusterLibrary.Point v, int q){
			int c = x.size();
			double dis_temp = 0.0;
			double result = 0.0;

			for ( int i = 0; i < c; i++){
				dis_temp = Distance((Point)x.getValueAt(i), v, 2);
				result += (  System.Math.Pow( dis_temp, q ));	
			}
			result = result / c;
			return System.Math.Pow(result , 1.0/q );
		}
	
		/// <summary>
		/// DBI
		/// </summary>
		/// <param name="x"></param>
		/// <param name="q"></param>
		/// <returns></returns>
		public static double withInClusterD( ClusterLibrary.Cluster x,  int q){
			ClusterLibrary.Point vi = x.weight_center();
			return withInClusterD(x, vi, q);
		}

		//====================================
		//	Inter Cluster Distance
		//====================================
		/// <summary>
		/// Dunn
		/// </summary>
		/// <param name="S"></param>
		/// <param name="T"></param>
		/// <returns></returns>
		public static double inter1(ClusterLibrary.Cluster S, ClusterLibrary.Cluster T){
			int countS	=	S.Count;
			int	countT	=	T.Count;
			ArrayList	disList	=	new ArrayList();

			try{
				foreach ( Point ptS in S ){
					foreach ( Point ptT in T ){
						disList.Add( Distance( ptS, ptT ) );
					}
				}
				return Min( disList );
			}
			catch( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
				return 0.0;
			}
		}
		
		/// <summary>
		/// Dunn
		/// </summary>
		/// <param name="S"></param>
		/// <param name="T"></param>
		/// <returns></returns>
		public static double inter2(ClusterLibrary.Cluster S, ClusterLibrary.Cluster T){
			int countS	=	S.Count;
			int	countT	=	T.Count;
			ArrayList	disList	=	new ArrayList();

			try{
				foreach ( Point ptS in S ){
					foreach ( Point ptT in T ){
						disList.Add( Distance( ptS, ptT ) );
					}
				}
				return Max( disList );
			}
			catch( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
				return 0.0;
			}
		}

		/// <summary>
		/// Dunn
		/// </summary>
		/// <param name="S"></param>
		/// <param name="T"></param>
		/// <returns></returns>
		public static double inter3(ClusterLibrary.Cluster S, ClusterLibrary.Cluster T){
			int countS	=	S.Count;
			int	countT	=	T.Count;
			double	disTemp	=	0.0;
			
			try{
				foreach ( Point ptS in S ){
					foreach ( Point ptT in T ){
						disTemp += Distance( ptS, ptT ) ;
					}
				}
				return disTemp / ( countS * countT );
			}
			catch( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
				return 0.0;
			}
		}

		/// <summary>
		/// Dunn
		/// </summary>
		/// <param name="S"></param>
		/// <param name="T"></param>
		/// <returns></returns>
		public static double inter4(ClusterLibrary.Cluster S, ClusterLibrary.Cluster T){
			Point	vs	=	S.Center();
			Point	vt	=	T.Center(); 
			try{
				return Distance( vs, vt );
			}
			catch( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
				return 0.0;
			}
		}

		/// <summary>
		/// Dunn
		/// </summary>
		/// <param name="S"></param>
		/// <param name="T"></param>
		/// <returns></returns>
		public static double inter5(ClusterLibrary.Cluster S, ClusterLibrary.Cluster T){
			Point	vs	=	S.Center();
			Point	vt	=	T.Center();
			int	countS	=	S.Count;
			int	countT	=	T.Count;
			double	disTemp	=	0.0;

			try {
				foreach ( Point ptS in S ){
					disTemp	+=	Distance ( ptS, vt );	
				}
				foreach ( Point ptT in T ){
					disTemp +=	Distance ( ptT, vs );
				}
				return disTemp / ( countS + countT );
			}
			catch ( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
				return 0.0;
			}
		}

		/// <summary>
		/// Dunn
		/// </summary>
		/// <param name="S"></param>
		/// <param name="T"></param>
		/// <returns></returns>
		public static double inter6(ClusterLibrary.Cluster S, ClusterLibrary.Cluster T){
			try {
				return Max( HausdorffMetric( S, T ), HausdorffMetric( T, S ) );
			}
			catch ( System.Exception e ){
				System.Console.WriteLine( e.StackTrace );
				System.Console.WriteLine( e.ToString() );
				return 0.0;
			}
		}

		public static double HausdorffMetric( ClusterLibrary.Cluster S, ClusterLibrary.Cluster T ){
			ArrayList	disList		=	new ArrayList();
			ArrayList	minDisList	=	new ArrayList();

			try{
				foreach ( Point ptS in S ){
					foreach ( Point ptT in T ){
						disList.Add( Distance ( ptS, ptT ) );
					}
					minDisList.Add( Min( disList ) );
					disList.Clear();
				}
				return Max ( minDisList );
			}
			catch ( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
				return 0.0;
			}
		}

	
		//====================================
		//	Intra Cluster Distance
		//====================================
			
		/// <summary>
		/// Dunn
		/// </summary>
		/// <param name="S"></param>
		/// <returns></returns>
		public static double intra1(ClusterLibrary.Cluster S){
			ArrayList	disList	=	new ArrayList();
			int countS	=	S.Count;
			Point x;
			Point y;
			try{
				for ( int i = 0; i < countS; i ++ ){
					x = (Point) S[i];
					for ( int j = i + 1; j < countS; j ++ ){
						y = (Point) S[j];
						disList.Add ( Distance( x, y ) );
					}
				}
				return Max ( disList );
			}
			catch ( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
				return 0.0;
			}
		}

		/// <summary>
		/// Dunn
		/// </summary>
		/// <param name="S"></param>
		/// <returns></returns>
		public static double intra2(ClusterLibrary.Cluster S){
			int	countS	=	S.Count;
			double	disTemp	=	0.0;
			Point x;
			Point y;
			if ( countS <= 1 )
				return 0.0;

			try{
				for ( int i = 0; i < countS; i ++ ){
					x = (Point) S[i];
					for ( int j = i + 1; j < countS; j ++ ){
						y = (Point) S[j];
						disTemp +=	Distance( x, y );
					}
				}
				return disTemp / ( countS * (countS - 1) );
			}
			catch ( System.Exception e ){
				System.Console.WriteLine( e.StackTrace ) ;
				System.Console.WriteLine( e.ToString() );
				return 0.0;
			}
		}

		/// <summary>
		/// Dunn
		/// </summary>
		/// <param name="S"></param>
		/// <returns></returns>
		public static double intra3(ClusterLibrary.Cluster S){
			int	countS	=	S.Count;
			Point	v	=	S.Center();
			double	disTemp	=	0.0;

			try{
				foreach( Point x in S ){
					disTemp += Distance ( x, v );
				}
				return 2 * disTemp / countS;
			}
			catch ( System.Exception e ){
				System.Console.WriteLine( e.StackTrace );
				System.Console.WriteLine( e.ToString() );
				return 0.0;
			}
		}



	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产色91在线| 亚洲精品一区二区三区精华液| 日韩av不卡在线观看| 国产精品网站在线观看| 欧美人妖巨大在线| 波多野结衣一区二区三区| 日本vs亚洲vs韩国一区三区二区 | 欧美成人福利视频| 欧洲激情一区二区| 成人一区二区三区视频| 狠狠久久亚洲欧美| 午夜激情久久久| 亚洲色图都市小说| 国产日韩影视精品| www国产亚洲精品久久麻豆| 欧美日韩一本到| 色婷婷综合久久久中文一区二区| 国产成人啪午夜精品网站男同| 日韩精品一级中文字幕精品视频免费观看 | 精品国产乱码久久久久久1区2区 | 日韩免费成人网| 欧美日韩三级在线| 色婷婷av一区二区三区软件| 成人精品在线视频观看| 黄页网站大全一区二区| 老司机午夜精品99久久| 轻轻草成人在线| 天堂蜜桃91精品| 亚洲五码中文字幕| 亚洲自拍欧美精品| 伊人性伊人情综合网| 中文字幕佐山爱一区二区免费| 国产欧美日韩精品a在线观看| 精品国一区二区三区| 日韩欧美在线一区二区三区| 91精品国产乱码| 欧美一区二区网站| 91精品国产福利| 日韩一区二区三区在线视频| 欧美电影一区二区三区| 欧美日韩亚洲另类| 4438亚洲最大| 精品少妇一区二区三区日产乱码| 日韩三级免费观看| 精品国产乱码久久久久久牛牛 | 精品精品国产高清一毛片一天堂| 欧美日韩色一区| 91精品国产综合久久久久久| 91精选在线观看| 日韩欧美在线不卡| 久久久久久久久久看片| 日本一区二区电影| 亚洲免费在线视频一区 二区| 亚洲影院理伦片| 日本sm残虐另类| 激情欧美日韩一区二区| 国产69精品久久777的优势| 99久久精品久久久久久清纯| 91看片淫黄大片一级在线观看| 色哟哟欧美精品| 欧美日韩一区三区四区| 日韩视频在线你懂得| 国产日产亚洲精品系列| 日韩理论片在线| 午夜视频一区二区| 激情文学综合插| 91在线视频在线| 91精品国产手机| 国产精品女主播av| 亚州成人在线电影| 国产精品18久久久久| 色综合久久中文字幕| 欧美一区二区三区思思人| 国产视频一区二区在线观看| 亚洲少妇30p| 精品制服美女丁香| voyeur盗摄精品| 91麻豆精品国产91久久久| 国产欧美一区二区精品久导航| 亚洲乱码国产乱码精品精的特点| 视频一区视频二区中文字幕| 国产不卡视频在线观看| 欧美三级电影网| 国产欧美一区二区三区网站| 亚洲成av人片www| 成人综合在线网站| 日韩一二三区不卡| 亚洲摸摸操操av| 国产成人精品亚洲午夜麻豆| 欧美日韩精品一区二区天天拍小说| 精品入口麻豆88视频| 一区2区3区在线看| 国产精品一区二区久激情瑜伽| 欧美日本在线观看| 国产精品久久久久久久久免费桃花| 三级不卡在线观看| av成人免费在线| 久久综合国产精品| 三级成人在线视频| 欧美亚洲图片小说| 国产免费观看久久| 美女久久久精品| 欧美少妇bbb| 国产精品国产三级国产普通话三级 | 色综合欧美在线视频区| 精品久久久网站| 五月天激情综合网| 色嗨嗨av一区二区三区| 国产精品免费aⅴ片在线观看| 久久99精品久久久| 91精品国产一区二区三区蜜臀| 亚洲在线一区二区三区| 99久久婷婷国产综合精品| 久久久综合视频| 麻豆久久久久久| 欧美日高清视频| 亚洲国产成人91porn| 在线看国产日韩| 亚洲欧美日本韩国| 91亚洲男人天堂| 国产精品成人网| 成人精品在线视频观看| 国产日韩影视精品| 国产·精品毛片| 国产日韩精品久久久| 黄页网站大全一区二区| 日韩精品一区二区三区中文不卡 | 日韩—二三区免费观看av| 色综合网站在线| 中文字幕一区视频| 97成人超碰视| 亚洲精品日日夜夜| 色香蕉久久蜜桃| 亚洲伦理在线精品| 91视频观看免费| 亚洲资源中文字幕| 欧美日韩一级黄| 蜜臀av一区二区| 日韩精品一区二区三区在线播放| 理论电影国产精品| 久久久国产精品午夜一区ai换脸| 国产老妇另类xxxxx| 久久精品一区蜜桃臀影院| 国产河南妇女毛片精品久久久| 久久久.com| 99视频精品免费视频| 亚洲精品美国一| 欧美美女喷水视频| 老汉av免费一区二区三区| 精品国偷自产国产一区| 成人免费观看视频| 亚洲精选在线视频| 9191国产精品| 国产一区二区三区免费观看| 欧美国产日产图区| 日本国产一区二区| 视频一区视频二区中文字幕| 日韩欧美国产三级| 粉嫩绯色av一区二区在线观看| ㊣最新国产の精品bt伙计久久| 在线观看av一区| 美女视频免费一区| 国产精品入口麻豆原神| 在线观看视频欧美| 激情综合五月婷婷| 亚洲欧美偷拍三级| 欧美日韩高清一区二区三区| 国内精品久久久久影院薰衣草| 中文av字幕一区| 欧美在线一区二区| 国产在线日韩欧美| 亚洲欧美另类小说| 日韩午夜电影av| 色综合天天狠狠| 久久精品国产第一区二区三区| 日本一区二区不卡视频| 欧美日韩一区不卡| 国产91高潮流白浆在线麻豆 | 中文字幕一区二区三区乱码在线 | 欧美激情一区三区| 在线区一区二视频| 国产精品综合网| 午夜精品久久一牛影视| 国产精品网曝门| 51精品视频一区二区三区| 成人短视频下载| 美腿丝袜亚洲色图| 亚洲免费看黄网站| 久久影音资源网| 777久久久精品| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 久久综合色婷婷| 色香色香欲天天天影视综合网| 国产在线视频一区二区三区| 亚洲精品第一国产综合野| 国产午夜精品一区二区三区四区| 欧美中文一区二区三区| www.色精品| 国产美女一区二区| 日本不卡在线视频|