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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sigmaflnmap.java

?? 一個數據挖掘系統的源碼
?? JAVA
字號:

/**
 *
 *   AgentAcademy - an open source Data Mining framework for
 *   training intelligent agents
 *
 *   Copyright (C)   2001-2003 AA Consortium.
 *
 *   This library is open source software; you can redistribute it
 *   and/or modify it under the terms of the GNU Lesser General
 *   Public License as published by the Free Software Foundation;
 *   either version 2.0 of the License, or (at your option) any later
 *   version.
 *
 *   This library is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU Lesser General Public
 *   License along with this library; if not, write to the Free
 *   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *   MA  02111-1307 USA
 *
 */

package org.agentacademy.modules.dataminer.classifiers.flnmap;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002 Ioannis N. Athanasiadis</p>
 * <p>Company: </p>
 * @author Ioannis N. Athanasiadis
 * @version 1.2
 */
import org.agentacademy.modules.dataminer.classifiers.evaluation.*;
import org.agentacademy.modules.dataminer.core.*;
import org.agentacademy.modules.dataminer.core.Instances;
import java.io.*;
import java.util.*;
import org.apache.log4j.Logger;

/**
 *  Class implementing sigma - FLNMAP classifier
 */

public class SigmaFlnmap extends Classifier implements OptionHandler{

 public static Logger                log = Logger.getLogger(SigmaFlnmap.class);
        public static final float EPSILON = 0.000001f;
	private Vector learnedCode;	// keeps the learned codes (hyperboxes)
	private double rhoa;	// keeps the vignilance parameter rhoa
        private Box bounds;
        private File bFile = new File("o");

	/**
	 * Builds the FLNMAP Classifier
	 */
	public void buildClassifier(Instances data) throws Exception {

      // Exceptions statements
          if (data == null ){
          throw new Exception("Dataset is null");
          }

          if (data.checkForStringAttributes()) {
             throw new Exception("Can't handle string attributes!");
          }
          if (data.classAttribute().isNumeric()) {
            throw new Exception("Class is numeric!");
          }

          if (data.numClasses() < 0) {
            throw new Exception ("Dataset has no class attribute");
          }
          if (!bFile.canRead()){
            try{
            setBounds(data);
            }
            catch(Exception e){
e.printStackTrace();
            }

          }
          if ( bounds.length()!= data.numAttributes()-1){
          throw new Exception ("Incompatible bounds file");
          }

        // BuildClassifier
          learnedCode = new Vector();

          int searching;
          Box  inputBuffer;

          Box Code = new Box(data.firstInstance());
          learnedCode.addElement(Code);


          for (int i = 1 ; i < data.numInstances() ; i++){
            inputBuffer = new Box ((Instance) data.instance(i));

            double[] sigma= new double[(learnedCode.size())];

            for (int j = 0; j < learnedCode.size(); j++){
              Box num = (Box) learnedCode.get(j);
             Box den = Box.join(inputBuffer, num);
              double numden = num.valuation(bounds)/den.valuation(bounds);
              sigma[j] = numden;

            } //for int j

            do{
            int winner = 0;
            double winnerf = sigma[0];
            for (int j = 1; j < learnedCode.size(); j++){
              if (winnerf < sigma[j]){
               winner = j;
               winnerf = sigma[j];
              } //if
            } //for

            Box num = inputBuffer;
            Box winnerBox = (Box) learnedCode.get(winner);
            Box den = Box.join(winnerBox,num);
            double numden = num.valuation(bounds)/den.valuation(bounds);


            if ((inputBuffer.getCateg()== winnerBox.getCateg())&&(rhoa < (numden))){
                 learnedCode.setElementAt(Box.join(winnerBox,inputBuffer), winner);
                 searching = 0;
              }
            else{
                sigma[winner] = 0;
                rhoa += EPSILON;
                searching =0;
                for (int j = 0; j<learnedCode.size(); j++){
                  if (sigma[j] != 0.0) {
                    searching = 1;
                  }//fi
                } //for

                if (searching==0){
                  learnedCode.addElement(inputBuffer);
                }//fi
              }//else
            } while (searching==1);
          }//for

       } //buildClassifier





	/**
	 * Classifies a given instance using the FLN Rules
	 */

  public double classifyInstance(Instance instance) {

    Box num, den, inputBuffer;
    inputBuffer = new Box (instance);

    // calculate excitations and winner
    double[] sigma= new double[(learnedCode.size())];
    for (int j = 0; j < learnedCode.size(); j++){
      num = (Box) learnedCode.get(j);
      den = Box.join(inputBuffer,num);

      sigma[j] =(num.valuation(bounds)/den.valuation(bounds));
    }//for j

    //find the winner Code (hyperbox)
    int winner = 0;
    double winnerf = sigma[0];
    for (int j=1; j<learnedCode.size(); j++){
      if (winnerf < sigma[j]){

        winner = j;
        winnerf = sigma[j];
      }//fi
    }//for j

   Box currentBox = (Box)learnedCode.get(winner);

  return (double )currentBox.getCateg();
  }

	/**
	 * Prints the hyperboxes using method showRules.
	 */
	public String toString(){
	String output = "";
        output = "sigma-FLNMAP classifier\n=======================\n Rhoa = "+rhoa +"\n Extracted Rules (HyperBoxes):\n\n";
        for (int i=0;i<learnedCode.size();i++){
           Box Code = (Box) learnedCode.get(i);
           output = output + Code.toString();
        }
        output = output + "\n\n Boundaries:\n" +bounds.toString();
        output = output + "\n Rules:    " +learnedCode.size();

       return output;
	}


       public void showRules(){
        for (int i=0;i<learnedCode.size();i++){
           Box Code = (Box) learnedCode.get(i);
           System.out.println("Rule:"+ i );
           Code.showbox();
        }

      }
	/**
	  * Returns an enumeration describing the available options.
	  *
	  * Valid options are: <p>
	  *
	  * -R rhoa<br>
	  *  Set vignilance parameter rhoa  (a float in range [0,1])<p>
	  *
	  */
	 public Enumeration listOptions() {
		 Vector newVector = new Vector(2);
		 newVector.addElement(new Option("\tSet vigilance parameter rhoa.", "R", 1, "-R"));
		 newVector.addElement(new Option("\tSet boundaries File", "B", 1, "-B"));
		 return newVector.elements();
	 }



	/**
	  * Parses a given list of options.
	  *
	  * @param options the list of options as an array of strings
	  * @exception Exception if an option is not supported
	  */
	  public void setOptions(String[] options) throws Exception{

	  // Other options

	  String rhoaString = Utils.getOption('R', options);
	  	if (rhoaString.length() != 0) {
		  rhoa = Double.parseDouble(rhoaString);
                  if (rhoa <0 || rhoa>1){
                    throw new Exception("Vigilance parameter (rhoa) should be a real number in range [0,1]");
                  }
                }
                else{
                 rhoa = 0.5;
                }
	  String boundsString = Utils.getOption('B', options);
	  	if (boundsString.length() != 0) {
		  bFile = new File(boundsString);
                  if (!bFile.canRead()){
                  throw new Exception("Boundaries File does not exist");
                  }
                  try{
                  BufferedReader in = new BufferedReader(new FileReader(bFile));
                  String line = in.readLine();
                  bounds = new Box(line);
                  }
                  catch(Exception e){
                  throw new Exception("Boundaries File structure error");

                  }
                }//fi

          Utils.checkForRemainingOptions(options);
	  }


/**
   * Gets the current settings of the Classifier.
   *
   * @return an array of strings suitable for passing to setOptions
   */
  public String [] getOptions() {

    String [] options = new String [2];
    int current = 0;

    options[current++] = "-R"; options[current++] = "" + rhoa;
    options[current++] = "-B"; options[current++] = "" + bFile.toString();
    while (current < options.length) {
      options[current++] = "";
    }
    return options;
  }


  public void setBounds(Instances data){
            // Initialize minmax stats

          bounds = new Box(data.numAttributes()-1);

          int k=0;
          for (int i=0; i<data.numAttributes();i++){

            if (i!=data.classIndex()) {

             // try{
              Instance inst  = data.firstInstance();
             double min = inst.value(i);
             double max = inst.value(i);

             for(int j=0; j<data.numInstances(); j++){
                 inst  = data.instance(j);
                 double val = inst.value(i);
                 min =  val <=min ? val : min ;
                 max =  val >=max ? val : max ;
             }
              bounds.setMin(k,min);
              bounds.setMax(k,max);
              k=k+1;
            } //if
          }//for

  }
/*
public sigmaFlnmap(){

}
/*
public static double getMinMax(int i, int j){
return minmax[i][j];
}
*/
	/**
	 * Main method
	 */
	public static void main(String[] args){

		try{
			System.out.println(Evaluation.evaluateModel(new SigmaFlnmap(), args));
                   }

		catch (Exception e){
		 log.error(e.getMessage());
		}

	}


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合av网| 国产精品久久久久久久久免费樱桃| 国产电影一区二区三区| 蜜乳av一区二区| 日本色综合中文字幕| 视频在线观看一区二区三区| 久久精品网站免费观看| 中文字幕在线一区二区三区| 久久国产婷婷国产香蕉| 欧美午夜电影一区| 国产精品美女久久久久久久 | 亚洲h精品动漫在线观看| 国产精品一区二区三区网站| 欧美三级视频在线观看| 国产精品私房写真福利视频| 久久国产精品无码网站| 欧美日韩视频在线一区二区| 国产精品久久久久久户外露出 | 国产xxx精品视频大全| 欧美丰满一区二区免费视频| 亚洲人精品午夜| 成人综合激情网| 2023国产精品| 国内成人精品2018免费看| 日韩视频在线你懂得| 亚洲bt欧美bt精品777| 97精品超碰一区二区三区| 欧美国产精品劲爆| 大尺度一区二区| 国产精品区一区二区三区| 国产一区二区伦理片| 久久亚洲二区三区| 韩国av一区二区三区| 久久久不卡影院| 国产精品一区二区果冻传媒| 久久综合色播五月| 国产精品99久久久久| 国产丝袜欧美中文另类| 岛国精品在线观看| 最新热久久免费视频| 色www精品视频在线观看| 亚洲靠逼com| 欧美酷刑日本凌虐凌虐| 秋霞成人午夜伦在线观看| 日韩女优制服丝袜电影| 国产一区二三区好的| 欧美国产综合一区二区| 色欧美88888久久久久久影院| 国产一区二区三区黄视频| 国产iv一区二区三区| 91精品国产综合久久久蜜臀图片| 中文字幕av不卡| 国产一区二区不卡老阿姨| 91成人看片片| 亚洲欧洲成人av每日更新| 国产一区 二区| 日韩亚洲欧美成人一区| 夜色激情一区二区| 不卡在线观看av| 国产欧美综合色| 国产专区综合网| 日韩精品一区二区三区视频在线观看| 亚洲欧洲制服丝袜| 99国产精品国产精品久久| 久久久久久久电影| 久久99最新地址| 欧美videos大乳护士334| 亚洲电影激情视频网站| 欧美影片第一页| 亚洲丝袜自拍清纯另类| aaa欧美大片| 亚洲欧洲一区二区三区| 成人免费视频caoporn| 国产色综合久久| 国产风韵犹存在线视精品| 久久蜜桃av一区精品变态类天堂| 久久草av在线| 久久久久久一级片| 成人免费黄色大片| 亚洲三级小视频| 欧洲视频一区二区| 午夜视频久久久久久| 欧美高清视频www夜色资源网| 亚洲成人综合网站| 日韩小视频在线观看专区| 日本大胆欧美人术艺术动态| 91精品国产麻豆国产自产在线 | 欧美福利视频导航| 五月婷婷激情综合网| 日韩欧美中文字幕公布| 国内精品国产三级国产a久久| 欧美高清在线精品一区| 99精品欧美一区二区蜜桃免费| 亚洲人成网站色在线观看| 欧美日韩一区国产| 久久99在线观看| 亚洲国产精品99久久久久久久久| 99在线视频精品| 午夜a成v人精品| 久久久综合视频| 色婷婷av一区二区三区大白胸 | 久久久精品蜜桃| 成人高清视频在线| 亚洲一级片在线观看| 日韩欧美国产午夜精品| 成人免费毛片aaaaa**| 亚洲精品一二三四区| 日韩免费电影一区| 99久久精品一区二区| 免费观看在线色综合| 国产精品久久久久久福利一牛影视| 在线免费观看日本欧美| 蜜臀av一区二区| 自拍偷拍国产亚洲| 精品免费一区二区三区| 91一区在线观看| 精品影视av免费| 亚洲一区二区三区视频在线播放 | 亚洲蜜臀av乱码久久精品蜜桃| 国模冰冰炮一区二区| 亚洲国产日韩a在线播放性色| 亚洲制服丝袜在线| 亚洲国产日韩精品| 免费的成人av| 久久9热精品视频| 国产aⅴ综合色| av网站一区二区三区| 白白色 亚洲乱淫| 欧美亚一区二区| 4438x成人网最大色成网站| 欧美一区二区三区人| www激情久久| 中文字幕在线观看不卡视频| 亚洲欧美色综合| 日韩高清不卡在线| 国产中文一区二区三区| 一本色道久久综合亚洲精品按摩| 色屁屁一区二区| 日韩一级免费观看| 欧美激情一区二区三区四区| 成人欧美一区二区三区| 亚洲在线免费播放| 麻豆精品视频在线观看视频| 国产精品中文字幕一区二区三区| 成人av网站在线观看| 在线国产亚洲欧美| 日韩欧美综合一区| 亚洲国产精品成人久久综合一区| 亚洲精品乱码久久久久久| 亚洲h在线观看| 不卡区在线中文字幕| 欧美日韩在线播| 国产三级欧美三级日产三级99| 亚洲欧洲av在线| 日韩精品久久久久久| 国产91色综合久久免费分享| 在线免费观看日本欧美| 欧美不卡一二三| 亚洲精品亚洲人成人网在线播放| 日本成人在线电影网| 99麻豆久久久国产精品免费| 欧美一区二区在线播放| 国产精品久久久久久久久搜平片 | 国产精品水嫩水嫩| 亚洲观看高清完整版在线观看 | 亚洲1区2区3区视频| 成人av动漫在线| 日本伦理一区二区| 51精品视频一区二区三区| 欧美一区二区女人| 精品对白一区国产伦| 国产清纯在线一区二区www| 中文子幕无线码一区tr| 亚洲欧美经典视频| 五月婷婷欧美视频| 狠狠久久亚洲欧美| 99久久99久久综合| 欧美自拍丝袜亚洲| 日韩小视频在线观看专区| 中文字幕乱码亚洲精品一区| 综合自拍亚洲综合图不卡区| 亚洲一级二级三级在线免费观看| 日本在线不卡视频| 国产激情精品久久久第一区二区| 91色婷婷久久久久合中文| 欧美日韩国产区一| 久久久777精品电影网影网 | 91视频你懂的| 91精品国产综合久久国产大片| 26uuuu精品一区二区| 亚洲激情欧美激情| 麻豆精品国产传媒mv男同| 成人av网站免费观看| 91精品国产手机| 中文字幕一区二区三区四区 | 国产色一区二区| 亚洲国产精品欧美一二99| 国产一区二区三区不卡在线观看| 在线精品视频免费观看| 国产色产综合产在线视频|