basicsimilarity.java
来自「本算法是实现基于KNN的基因遗传算法」· Java 代码 · 共 55 行
JAVA
55 行
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package gaknn.similarity;import gaknn.core.Attribute;import gaknn.core.FastVector;/** * * @author Niro */public class BasicSimilarity extends AbstractSimilarity{ public BasicSimilarity(FastVector attributes){ super(attributes); } public double GetSimilarity(double[] attrbuteSet1, double[] attrbuteSet2){ double simValue = 0.0; double dif = 0.0; int iWeightPos = 0; int numAttributes =attrbuteSet1.length; for (int i=0; i<numAttributes; i++){ Attribute attribute; attribute = (Attribute) m_Attributes.elementAt(i); switch (attribute.Type()){ case Attribute.NOMINAL: if (attrbuteSet1[i] == attrbuteSet2[i]) dif = 0.0; else dif = m_Weights[iWeightPos]; default: dif = m_Weights[iWeightPos] * Math.abs(attrbuteSet1[i] - attrbuteSet2[i]); } iWeightPos++; simValue += dif; } if (simValue < Double.MIN_VALUE) simValue = Double.MAX_VALUE; else simValue = 1.0/simValue; if (Double.isInfinite(simValue)) simValue = Double.MAX_VALUE; return simValue; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?