📄 dbicore.cs
字号:
using System;
using System.Collections;
namespace ClusterLibrary
{
/// <summary>
///
/// </summary>
public class DBICore
{
public DBICore()
{
}
//========================
// Ri,qt甫 备茄促
//========================
public static double Riqt(Set u, int i, int q, int t){
if ( u.getValueAt(i).IsEmpty() == true ){
return 0.0;
}
ArrayList list = new ArrayList();
int c = u.Count;
double withinCDi = 0.0;
double withinCDj = 0.0;
double dis_ij = 0.0;
double result_temp = 0.0;
withinCDi = ClusterLibrary.Utilities.withInClusterD( u.getValueAt(i), q);
for ( int b = 0; b < c ;b ++ ){
if ( i == b ){
continue;
}
if ( u.getValueAt(b).IsEmpty() != true ){
withinCDj = ClusterLibrary.Utilities.withInClusterD( u.getValueAt(b), q);
dis_ij = ClusterLibrary.Utilities.Distance( u.getValueAt(i), u.getValueAt(b), (double)t );
result_temp = ( withinCDi + withinCDj ) / dis_ij;
list.Add( result_temp );
}
}
return ClusterLibrary.Utilities.Max(list);
}
//================================
// Davies-Bouldin Index甫 备茄促
//================================
public static double calculateDBI(Set u, int q, int t){
int c = u.Count;
double result = 0.0;
for (int i = 0; i < c; i++){
result += Riqt(u, i, q, t);
}
result = result / c;
return result;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -