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

📄 equalwidthdiscretiser.java

📁 用于multivariate时间序列分类
💻 JAVA
字号:
/**  * What this class does goes here  *  *   * @author Waleed Kadous  * @version $Id: EqualWidthDiscretiser.java,v 1.1.1.1 2002/06/28 07:36:16 waleed Exp $  */package tclass.learnalg;   import tclass.*; import tclass.util.*; import tclass.datatype.*; public class EqualWidthDiscretiser implements DiscretiserI {    int numBins;    boolean singular = false;     Binner myBinner;     public int size()    {	return numBins;     }        public void makeDiscretisation(ClassStreamAttValVecI data, int				   numBins, int attNum){	//Well, this is easy 	this.numBins = numBins; 	StreamAttValVecI streams = data.getStreamAttValVec(); 	DataTypeI dt = streams.getDescription().elAt(attNum).getDataType(); 	Debug.myassert(dt.getName().equals("continuous"), "WARNING!! Attempt to discretise non-continuous value"); 	float min = Float.MAX_VALUE; 	float max = -Float.MAX_VALUE; 	int numStreams = streams.size(); 	for(int i=0; i < numStreams; i++){	    float val = streams.elAt(i).getAtt(attNum); 	    if(val < min){		min = val; 	    }	    if(val > max && val != Double.MAX_VALUE){		max = val; 	    }	}	AttDescVecI advi = streams.getDescription(); 	Debug.dp(Debug.EMERGENCY, "For " + advi.elAt(attNum) + " range is : " + min + " to " + max); 	// And now make a binner for ourselves. 		Debug.myassert(max!=min, "WARNING!!! max = min for " +		     advi.elAt(attNum)); 	if(max == min) singular = true; 	if(!singular){	    myBinner = new Binner(numBins); 	    float increment = (max-min)/numBins; 	    for(int i=1; i < numBins; i++){		myBinner.setBound(i-1, min + i*increment); 	    }	}	    }        public Discrete getDiscType(){	Discrete retval = new Discrete(); 	String classes = ""; 		if(!singular){	    for(int i=0; i<numBins; i++){		classes += "bin"+i+" "; 	    }	    try {				retval.setParam("classes", classes); 	    }	    catch(Exception e){		//Naughty! Naughty!! 	    }	    return retval; 	}	else {	    try {		retval.setParam("classes", "singular"); 	    }	    catch(Exception e){		//Naughty! Naughty!! 	    }	    return retval; 	}	    }        public int discretise(float val){	if(!singular){	    return myBinner.findBin(val); 	}	else {	    return 0; 	}    }}

⌨️ 快捷键说明

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