チェンジセット 52 : BH13SPARQLBuilder/src

差分発生行の前後
無視リスト:
更新日時:
2014/02/18 17:20:23 (11 年 前)
更新者:
atsuko
ログメッセージ:

convergence & divergence 判定改良

ファイル:
1 変更

凡例:

変更なし
追加
削除
  • BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java

    r51 r52  
    155155                      boolean con = false; 
    156156                      boolean div = false; 
    157                       double conv = getValueForConvergence(classLinks[j].getNumOfOriginInstances(),  
    158                                                            classLinks[j].getNumOfLinkedInstances(), 
    159                                                            classLinks[j].getNumOfLinks()); 
    160                       //double divv = getValueForDivergence(classLinks[j].getNumOfOriginInstances(),  
    161                       //                                     classLinks[j].getNumOfLinkedInstances(), 
    162                       //                                     classLinks[j].getNumOfLinks()); 
    163                       if ( conv > concut ){ // convergence 
     157                      if ( decideConvergence(classLinks[j]) ){ // convergence 
    164158                          con = true; 
    165159                      } 
    166                       if ( conv < divcut ){ // divergence 
     160                      if ( decideDivergence(classLinks[j]) ){ // divergence 
    167161                          div = true; 
    168162                      } 
     
    181175    } 
    182176     
     177    private boolean decideConvergence(ClassLink classLink){ 
     178        double con = getValueForConvergence(classLink.getNumOfOriginInstances(),  
     179                                              classLink.getNumOfLinkedInstances(), 
     180                                              classLink.getNumOfLinks()); 
     181        if ( con > concut  ){ 
     182            return true; 
     183        } 
     184        return false; 
     185    } 
     186     
     187    private boolean decideDivergence(ClassLink classLink){ 
     188        double con = getValueForConvergence(classLink.getNumOfOriginInstances(),  
     189                                              classLink.getNumOfLinkedInstances(), 
     190                                              classLink.getNumOfLinks()); 
     191        if ( con < divcut  ){ 
     192            return true; 
     193        } 
     194        return false; 
     195    } 
     196 
    183197    private double getValueForConvergence(int numOfOriginInstances, int numOfLinkedInstances, int numOfLinks){ 
    184198        //return (double) numOfLinks / (double) numOfLinkedInstances ; 
     
    186200        return Math.log((double)numOfOriginInstances) - Math.log((double)numOfLinkedInstances);  
    187201    } 
    188  
    189     /* 
    190     private double getValueForDivergence(int numOfOriginInstances, int numOfLinkedInstances, int numOfLinks){ 
    191         return (double) numOfLinks / (double) numOfOriginInstances ; 
    192         // return ; 
    193     }*/ 
    194202}